/// <summary>
 /// 创建数据库
 /// </summary>
 /// <param name="databaseName">数据库文件路径</param>
 public static void CreateDataBase()
 {
     MyLogUtil.ToLogFotTest("建立sqllite数据库时的文件路径:" + databaseName);
     if (!File.Exists(databaseName))
     {
         SQLiteConnection.CreateFile(databaseName);
     }
 }
示例#2
0
        /// <summary>
        /// 处理群成员数量减少事件
        /// </summary>
        /// <param name="subType">事件类型。1为群员离开;2为群员被踢为;3为自己(即登录号)被踢</param>
        /// <param name="sendTime">事件发生时间的时间戳</param>
        /// <param name="fromGroup">事件来源群号</param>
        /// <param name="fromQq">事件来源QQ</param>
        /// <param name="target">被操作的QQ</param>
        /// <returns></returns>
        public override int ProcessGroupMemberDecrease(int subType, int sendTime, long fromGroup, long fromQq, long target)
        {
            MyLogUtil.ToLogFotTest("处理群员减少" + fromGroup + "_" + fromQq + "_" + target);

            if (CacheData.IsAutoAddGroupMemberJifen && CacheData.IsInitComplete && fromGroup == CacheData.CurrentSelectedGroupId)
            {
                try
                {
                    lock (Obj)
                    {
                        MyLogUtil.ToLogFotTest("处理群员减少1");
                        //先查询是否已经有他的数据了
                        GroupMemberInfoWithBocai g = CacheData.SearchMemberInfo.GetValue(CacheData.GroupMemberInfoDic, target);
                        if (g != null)//移除该qq会员在列表中的显示
                        {
                            MyLogUtil.ToLogFotTest("处理群员减少2,选中的用户的索引:" + g.ArrIndex + "_昵称" + CacheData.GroupMemberInfoList[g.ArrIndex].GroupMemberBaseInfo.NickName + "_target:" + target);
                            List <GroupMemberInfoWithBocai> list = new List <GroupMemberInfoWithBocai>();
                            for (int i = 0; i < CacheData.GroupMemberInfoList.Count; i++)
                            {
                                GroupMemberInfoWithBocai groupMember = CacheData.GroupMemberInfoList[i];
                                if (groupMember.GroupMemberBaseInfo.Number != target)
                                {
                                    groupMember.ArrIndex = list.Count;
                                    list.Add(groupMember);
                                }
                            }
                            CacheData.GroupMemberInfoList = list;
                            CacheData.SearchMemberInfo.Remove(CacheData.GroupMemberInfoDic, target);
                            CacheData.MainFrom.RefreshGroupMemberList();

                            /*
                             * CacheData.GroupMemberInfoList[g.ArrIndex] = null;//由于每个成员对象中存了在当前列表中的索引(以免每次查找都要遍历列表),为了避免重建每个对象的索引,直接置为空
                             * CacheData.SearchMemberInfo.Remove(CacheData.GroupMemberInfoDic, target);
                             * CacheData.MainFrom.RefreshGroupMemberList();
                             */
                        }
                        else
                        {
                            MyLogUtil.ToLogFotTest("处理群员减少2");
                        }
                    }
                }
                catch (Exception ex)
                {
                    MyLogUtil.ToLogFotTest("当群员退群后,自动删减用户时出现异常,原因:" + ex);
                    //CacheData.CoolQApi.AddLog(40, CoolQLogLevel.Debug, "当群员退群后,自动删减用户时出现异常,原因" + ex);
                }
            }


            return(base.ProcessGroupMemberDecrease(subType, sendTime, fromGroup, fromQq, target));
        }
示例#3
0
        /// <summary>
        /// 进入主界面
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                if (radioButton1.Checked)
                {
                    CacheData.IsAutoAddGroupMemberJifen = true;
                }


                if (comboBox1.Text == "" || comboBox2.Text == "")
                {
                    MessageBox.Show("请选择qq群和数据库!");
                    return;
                }
                //缓存当前选中的QQ群
                CacheData.SelectedGroupIndex = comboBox2.SelectedIndex;

                //webChat.grox[comboBox2.SelectedIndex].seq = comboBox1.Text;
                CacheData.Seq = comboBox1.Text;

                //加载当前选中群的群员信息
                label1.Text = "正在加载选中群的群员信息";
                MyLogUtil.ToLogFotTest("选中的索引值:" + CacheData.SelectedGroupIndex);
                GroupInfo currentSelectedGroup = CacheData.CurrentGroupList[CacheData.SelectedGroupIndex];
                CacheData.CurrentSelectedGroupId = currentSelectedGroup.GroupId;
                //MyLogUtil.ToLogFotTest("#####进入主界面前,选中的群:"+currentSelectedGroup.GroupName+"____"+currentSelectedGroup.GroupId + "___" + comboBox2.SelectedIndex);
                CoolQApiExtend.GetGroupMemberListAndCache(CacheData.CoolQApi, currentSelectedGroup.GroupId);


                Form1 qr = new Form1(currentSelectedGroup, this.Text);
                CacheData.MainFrom = qr;
                qr.Show();
                Hide();
            }catch (Exception ex)
            {
                CacheData.CoolQApi.AddLog(40, Newbe.CQP.Framework.CoolQLogLevel.Debug, "qrCode类中button3_Click方法出错,异常信息:" + ex);
                MyLogUtil.ErrToLog("进入主界面时出现错误,原因:" + ex);
                MessageBox.Show("进入主界面出现错误");
            }
        }
示例#4
0
        /// <summary>
        /// 处理群成员添加事件
        /// </summary>
        /// <param name="subType">事件类型。1为管理员已同意;2为管理员邀请</param>
        /// <param name="sendTime">事件发生时间的时间戳</param>
        /// <param name="fromGroup">事件来源群号</param>
        /// <param name="fromQq">事件来源QQ</param>
        /// <param name="target">被操作的QQ</param>
        /// <returns></returns>
        public override int ProcessGroupMemberIncrease(int subType, int sendTime, long fromGroup, long fromQq, long target)
        {
            //MyLogUtil.ToLogFotTest("群员增加事件:" + fromGroup + "_fromQQ;" + target + "__"+ CacheData.IsAutoAddGroupMemberJifen+"__"+ CacheData.IsInitComplete);
            if (CacheData.IsAutoAddGroupMemberJifen && CacheData.IsInitComplete && fromGroup == CacheData.CurrentSelectedGroupId)
            {
                lock (Obj)
                {
                    //MyLogUtil.ToLogFotTest("1111111:");
                    try
                    {
                        //先查询是否已经有他的数据了
                        GroupMemberInfoWithBocai g = CacheData.SearchMemberInfo.GetValue(CacheData.GroupMemberInfoDic, target);
                        if (g == null)//说明第一次建立此用户信息
                        {
                            //win7下,Cool​Api​Extensions.GetGroupMemberInfoV2也会崩

                            /*
                             * ModelWithSourceString<GroupMemberInfo> model = Cool​Api​Extensions.GetGroupMemberInfoV2(CacheData.CoolQApi, fromGroup, target, true);
                             * //MyLogUtil.ToLogFotTest("获取的群会员信息1:" + model);
                             * //MyLogUtil.ToLogFotTest("获取的群会员信息12:" + model.Model.NickName);
                             * if (model != null)
                             * {
                             *  GroupMemberInfo groupMemberInfo = model.Model;
                             *  //MyLogUtil.ToLogFotTest("获取的群会员信息:"+ groupMemberInfo.NickName);
                             *  GroupMemberInfoWithBocai temp = new GroupMemberInfoWithBocai(groupMemberInfo, CacheData.GroupMemberInfoList.Count);
                             *  CacheData.GroupMemberInfoList.Add(temp);
                             *  CacheData.GroupMemberInfoDic.Add(target, temp);
                             *
                             *  //将数据展示在软件列表中,并添加数据到数据库
                             *
                             *      CacheData.MainFrom.dgv2(temp);
                             * }
                             *
                             */
                            //方案二
                            GroupMemberInfo groupMemberInfo = new GroupMemberInfo();
                            groupMemberInfo.NickName = "" + target;
                            groupMemberInfo.Number   = target;
                            groupMemberInfo.GroupId  = fromGroup;

                            GroupMemberInfoWithBocai temp = new GroupMemberInfoWithBocai(groupMemberInfo, CacheData.GroupMemberInfoList.Count);
                            temp.IsAutoAddGroupMember = true;
                            CacheData.GroupMemberInfoList.Add(temp);
                            CacheData.GroupMemberInfoDic.Add(target, temp);

                            //将数据展示在软件列表中,并添加数据到数据库

                            CacheData.MainFrom.dgv2(temp);
                        }
                        else
                        {
                            MyLogUtil.ToLogFotTest("5555555555,此qq信息已经缓存:" + target);
                        }
                    }catch (Exception ex)
                    {
                        MyLogUtil.ToLogFotTest("当群员入群后,自动添加用户时出现异常,原因:" + ex);
                        //CacheData.CoolQApi.AddLog(40,CoolQLogLevel.Debug, "当群员入群后,自动添加用户时出现异常,原因:"+ex);
                    }
                }
                //MyLogUtil.ToLogFotTest("3333333:");
            }

            return(base.ProcessGroupMemberIncrease(subType, sendTime, fromGroup, fromQq, target));
        }