Ejemplo n.º 1
0
        private void UpdateDataGridView(SkinDataGridView skinDataGridView1, List <www_52bang_site_enjoy.MyModel.GroupInfo> groupList, Dictionary <long, int> checkedQQQun)
        {
            try {
                skinDataGridView1.Rows.Clear();
                MyDictionaryUtil <long, int> myDictionaryUtil = new MyDictionaryUtil <long, int>();
                for (int i = 0; i < groupList.Count; i++)
                {
                    www_52bang_site_enjoy.MyModel.GroupInfo groupInfo = groupList[i];
                    int result = myDictionaryUtil.GetValue(checkedQQQun, groupInfo.GroupId);
                    int index  = skinDataGridView1.Rows.Add();
                    if (result == 1)//选中了
                    {
                        skinDataGridView1.Rows[index].Cells[0].Value = true;
                    }
                    else//未选中
                    {
                        skinDataGridView1.Rows[index].Cells[0].Value = false;
                    }

                    skinDataGridView1.Rows[index].Cells[1].Value = groupInfo.GroupName;
                    skinDataGridView1.Rows[index].Cells[2].Value = groupInfo.GroupId;
                }
            }catch (Exception ex)
            {
                MyLogUtil.ErrToLog("错误信息:" + ex);
            }
        }
Ejemplo n.º 2
0
        private void UpdateDataGridView2(SkinDataGridView skinDataGridView1, List <www_52bang_site_enjoy.MyModel.GroupInfo> groupList, Dictionary <long, int> checkedQQQun)
        {
            MyDictionaryUtil <long, int> myDictionaryUtil = new MyDictionaryUtil <long, int>();

            for (int i = 0; i < groupList.Count; i++)
            {
                www_52bang_site_enjoy.MyModel.GroupInfo groupInfo = groupList[i];
                int result = myDictionaryUtil.GetValue(checkedQQQun, groupInfo.GroupId);
                int index  = skinDataGridView1.Rows.Count - 1;
                if (result == 1)//选中了
                {
                    skinDataGridView1.Rows[index].Cells[0].Value = true;
                }
                else//未选中
                {
                    skinDataGridView1.Rows[index].Cells[0].Value = false;
                }

                skinDataGridView1.Rows[index].Cells[1].Value = groupInfo.GroupName;
                skinDataGridView1.Rows[index].Cells[2].Value = groupInfo.GroupId;
                if (!(i == groupList.Count - 1))
                {
                    skinDataGridView1.Rows.Add();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 处理加群请求(有加群请求)
        /// </summary>
        /// <param name="subType">请求类型。1为他人申请入群;2为自己(即登录号)受邀入群</param>
        /// <param name="sendTime">请求发送时间戳</param>
        /// <param name="fromGroup">要加入的群的群号</param>
        /// <param name="fromQq">发送此请求的QQ号码</param>
        /// <param name="msg">附言内容</param>
        /// <param name="responseMark">用于处理请求的标识</param>
        /// <returns></returns>
        public override int ProcessJoinGroupRequest(int subType, int sendTime, long fromGroup, long fromQq, string msg, string responseMark)
        {
            //mainForm.displayMsg2("处理加群请求:" + subType + "," + sendTime + "," + fromGroup + "," + fromQq + "," + msg + "," + responseMark);
            //判断此群是否在监控范围内
            MyDictionaryUtil <long, int> myDictionaryUtil = new MyDictionaryUtil <long, int>();
            int result = myDictionaryUtil.GetValue(CacheData.BaseJson.CheckedQQQun, fromGroup);

            if (result == 1)//监控此群
            {
                if (CacheData.BaseJson.IsAutoAddQun)
                {
                    //自动加群处理
                    CoolQApi.SetGroupAddRequest(responseMark, CoolQAddGroupRequestType.Normal, CoolQRequestResult.Allow);//请求通过
                }
            }


            return(base.ProcessJoinGroupRequest(subType, sendTime, fromGroup, fromQq, msg, responseMark));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 处理群聊消息
        /// </summary>
        /// <param name="subType">消息类型,目前固定为1</param>
        /// <param name="sendTime">消息发送时间的时间戳</param>
        /// <param name="fromGroup">消息来源群号</param>
        /// <param name="fromQq">发送此消息的QQ号码</param>
        /// <param name="fromAnonymous">发送此消息的匿名用户</param>
        /// <param name="msg">消息内容</param>
        /// <param name="font">消息所使用字体</param>
        /// <returns></returns>
        public override int ProcessGroupMessage(int subType, int sendTime, long fromGroup, long fromQq, string fromAnonymous, string msg, int font)
        {
            MyDictionaryUtil <long, int> myDictionaryUtil = new MyDictionaryUtil <long, int>();
            int result = myDictionaryUtil.GetValue(CacheData.BaseJson.CheckedQQQun, fromGroup);
            //说明用户回复的是指定的关键词
            string replayContent2 = null;

            if (result == 1)//监控此群
            {
                try
                {
                    replayContent2 = CacheData.BaseJson.Keys[msg + "-##-1-##-1"];
                    CoolQApi.SendGroupMsg(fromGroup, replayContent2);
                    return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                }
                catch (KeyNotFoundException ke)
                {
                    try
                    {
                        replayContent2 = CacheData.BaseJson.Keys[msg + "-##-1-##-0"];
                        CoolQApi.SendGroupMsg(fromGroup, replayContent2);
                        return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                    }
                    catch (KeyNotFoundException ke2)
                    {
                    }
                }
            }
            result = myDictionaryUtil.GetValue(CacheData.MovieConfig.CheckedQQQun, fromGroup);
            if (result == 1)
            {
                //
                string contentStr = msg.Trim();
                bool   b          = true;
                if (CacheData.MovieConfig.IsNeed)
                {
                    string at = CoolQCode.At(CoolQApi.GetLoginQQ());
                    if (msg.StartsWith(at))//需@机器人触发指令
                    {
                        contentStr = contentStr.Replace(at, "");
                        contentStr = contentStr.Trim();
                    }
                    else
                    {
                        b = false;
                    }
                }

                if (b)
                {
                    if (contentStr.StartsWith(CacheData.MovieConfig.SearchCommand))
                    {
                        String url = "";
                        try
                        {
                            string searchContent = contentStr.Substring(1);
                            if (string.IsNullOrWhiteSpace(searchContent))
                            {
                                //CoolQApi.SendPrivateMsg(fromQQ, "请输入要搜索的内容,例如:搜黑豹");
                                //CoolQApi.SendPrivateMsg(fromQQ, CacheData.MovieConfig.NoSearchedMovie);
                                replayContent2 = CacheData.MovieConfig.NoSearchedMovieInQun;
                                replayContent2 = replayContent2.Replace("{@用户}", CoolQCode.At(fromQq));
                                CoolQApi.SendGroupMsg(fromGroup, replayContent2);
                                return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                            }
                            else
                            {
                                //CoolQApi.SendPrivateMsg(fromQQ, "正在寻找资源,请稍等...");
                                List <KunyunInfo> list = KuYunSearch.Search(searchContent, CacheData.MovieConfig.ConvertLinkIndex);
                                if (list == null || list.Count == 0)
                                {
                                    //CoolQApi.SendPrivateMsg(fromQQ, "暂时未找到此资源");
                                    string temp = CacheData.MovieConfig.NoSearchedMovieInQun;
                                    temp = temp.Replace("{@用户}", CoolQCode.At(fromQq));
                                    CoolQApi.SendGroupMsg(fromGroup, temp);


                                    return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                                }
                                else if (list.Count == 1)//说明找到了具体电影的链接
                                {
                                    string        replayContent = CacheData.MovieConfig.HaveSearchedMovieInQun;
                                    StringBuilder sb            = new StringBuilder(" ");
                                    foreach (KunyunInfo k in list)
                                    {
                                        replayContent = replayContent.Replace("{电影名}", k.name);
                                        foreach (MovieInfo2 res in k.url)
                                        {
                                            if (k.resourceTYpe == 1)//m3u8
                                            {
                                                sb.Append(res.MovieName + "  " + MyLinkCoverter.CovertUrlInSuoIm(res.Url, true) + Environment.NewLine);
                                            }
                                            else//直接观看链接
                                            {
                                                sb.Append(res.MovieName + "  " + MyLinkCoverter.CovertUrlInSuoIm(res.Url, false) + Environment.NewLine);
                                            }
                                        }
                                    }
                                    replayContent = replayContent.Replace("{电影链接}", sb.ToString());
                                    replayContent = replayContent.Replace("{@用户}", CoolQCode.At(fromQq));
                                    CoolQApi.SendGroupMsg(fromGroup, replayContent);
                                    return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                                }
                                else//说明找到了相关的好几个电影
                                {
                                    StringBuilder sb = new StringBuilder("我找到了多个相关资源,请保持搜索格式,聊天回复以下具体某个资源获取观影链接:" + Environment.NewLine);
                                    foreach (KunyunInfo k in list)
                                    {
                                        sb.Append(CacheData.MovieConfig.SearchCommand + k.name + Environment.NewLine);
                                    }
                                    CoolQApi.SendGroupMsg(fromGroup, sb.ToString());
                                    return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                                }
                            }
                        }
                        catch (Exception e2)
                        {
                            //CoolQApi.SendPrivateMsg(fromQQ, "小喵出现问题,请过会再来尝试");
                            MyLogUtil.ErrToLog("接收群聊信息后处理过程出现异常,原因:" + e2);
                            return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
                        }
                    }
                }
            }

            //mainForm.displayMsg2("处理群聊消息:" + subType + "," + sendTime + "," + fromGroup + "," + fromQq + "," + fromAnonymous + "," + msg + "," + font);

            return(base.ProcessGroupMessage(subType, sendTime, fromGroup, fromQq, fromAnonymous, msg, font));
        }