示例#1
0
 private void sendQueryFailureClusterMsg(string sendStr, string LanguageDicKey, ClusterIMEventArgs eventArgs)
 {
     if (Config.LanguageDic.ContainsKey(LanguageDicKey))
     {
         sendStr = Config.LanguageDic[LanguageDicKey];
     }
     SendExtension.SendClusterIM(Client, eventArgs.ClusterInfo.ClusterId, PluginExtension.ReplaceVariable(eventArgs, sendStr, true));
     eventArgs.Cancel = true;
 }
示例#2
0
 private void sendQuerySuccessClusterMsg(string sendStr, string LanguageDicKey, DataRow row, ClusterIMEventArgs eventArgs)
 {
     if (Config.LanguageDic.ContainsKey(LanguageDicKey))
     {
         sendStr = Config.LanguageDic[LanguageDicKey];
     }
     sendStr = ReplacePokemonVariable(sendStr, row);
     SendExtension.SendClusterIM(Client, eventArgs.ClusterInfo.ClusterId, PluginExtension.ReplaceVariable(eventArgs, sendStr, true));
     eventArgs.Cancel = true;
 }
示例#3
0
        private void SDK_ReceiveClusterIM(object sender, ClusterIMEventArgs eventArgs)
        {
            // 判断是否已经被别的插件处理过
            if (eventArgs.Cancel)
            {
                OnLog("已被其他插件使用,该插件不再处理");
                return;
            }

            // 开始处理群消息
            ClusterInfo clusterInfo = eventArgs.ClusterInfo;

            if (!clusterInfo.CanSend || SQLiteHandler.getClusterIsEnabled(clusterInfo.ClusterId.ToString()) != "1")
            {
                OnLog("本群未启用该功能");
                return;
            }
            // 去除消息中的空格回车制表符等
            string message = Regex.Replace(eventArgs.Message, "[\f\n\r\t\v\\s+]", "");

            // 开始匹配查询功能
            // 初版直接写死:查 种族值 宝可梦
            if (message.StartsWith("查"))
            {
                Regex   r          = new Regex("查");
                string  msgContent = r.Replace(message, "");
                int     pokemonId;
                string  sendStr;
                DataSet ds;
                if (int.TryParse(msgContent, out pokemonId))
                {
                    if (pokemonId > 0 && pokemonId < 10)
                    {
                        msgContent = "00" + pokemonId.ToString();
                    }
                    else if (pokemonId >= 10 && pokemonId < 100)
                    {
                        msgContent = "0" + pokemonId.ToString();
                    }
                    else if (pokemonId >= 100 && pokemonId <= 890)
                    {
                        msgContent = pokemonId.ToString();
                    }
                    else
                    {
                        sendStr = "宝可梦编号不存在[1-890]";
                        sendQueryFailureClusterMsg(sendStr, CommonDefine.queryPokemonInfoIdFailure, eventArgs);
                        return;
                    }
                    ds = SQLiteHandler.getPokemonInfoBySn(msgContent);
                }
                else
                {
                    ds = SQLiteHandler.getPokemonInfoByName(msgContent);
                }
                if (ds.Tables.Count == 0 || (ds.Tables.Count == 1 && ds.Tables[0].Rows.Count == 0))
                {
                    sendStr = "宝可梦编号不存在[1-890]";
                    sendQueryFailureClusterMsg(sendStr, CommonDefine.queryPokemonInfoFailure, eventArgs);
                    return;
                }
                foreach (DataTable dt in ds.Tables)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        sendStr = "嘻嘻嘻,就不告诉你";
                        sendQuerySuccessClusterMsg(sendStr, CommonDefine.queryPokemonInfoSuccess, row, eventArgs);
                    }
                }
                return;
            }
            else if (message.StartsWith("种族值"))
            {
                Regex  r          = new Regex("种族值");
                string msgContent = r.Replace(message, "");
                string sendStr    = "";
                foreach (string imgName in this.speciesStrengthImgList)
                {
                    if (-1 != imgName.IndexOf(msgContent))
                    {
                        sendStr = sendStr + imgName + ":[Image]" + string.Format("{0}\\speciesStrength\\{1}", this.Config.PokemonImageBaseDir, imgName) + "[/Image]\r\n";
                    }
                }
                if (sendStr == "")
                {
                    sendStr = "[@QQ]请确定该宝可梦是否存在!";
                }
                else
                {
                    sendStr = "[@QQ]\r\n" + sendStr;
                }
                SendExtension.SendClusterIM(Client, eventArgs.ClusterInfo.ClusterId, PluginExtension.ReplaceVariable(eventArgs, sendStr, true));
                eventArgs.Cancel = true;
                return;
            }
            else if (message.StartsWith("进化"))
            {
                Regex  r          = new Regex("进化");
                string msgContent = r.Replace(message, "");
                string sendStr    = "";
                if (File.Exists(string.Format("{0}\\evolveImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent)))
                {
                    sendStr = sendStr + "[Image]" + string.Format("{0}\\evolveImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent) + "[/Image]\r\n";
                }
                if (File.Exists(string.Format("{0}\\megaEvolveImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent)))
                {
                    sendStr = sendStr + "超级进化:[Image]" + string.Format("{0}\\megaEvolveImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent) + "[/Image]\r\n";
                }
                if (File.Exists(string.Format("{0}\\transformImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent)))
                {
                    sendStr = sendStr + "形态变化:[Image]" + string.Format("{0}\\transformImg\\{1}.png", this.Config.PokemonImageBaseDir, msgContent) + "[/Image]\r\n";
                }
                if (sendStr == "")
                {
                    sendStr = "[@QQ]请确定该宝可梦是否存在!";
                }
                else
                {
                    sendStr = "[@QQ]\r\n" + sendStr;
                }
                SendExtension.SendClusterIM(Client, eventArgs.ClusterInfo.ClusterId, PluginExtension.ReplaceVariable(eventArgs, sendStr, true));
                eventArgs.Cancel = true;
                return;
            }
            else if (message.StartsWith("弱点"))
            {
                Regex  r          = new Regex("弱点");
                string msgContent = r.Replace(message, "");
                string sendStr    = "";
                if (File.Exists(string.Format("{0}\\typeOpposite\\{1}_反转对战.png", this.Config.PokemonImageBaseDir, msgContent)))
                {
                    sendStr = sendStr + "攻击:[Image]" + string.Format("{0}\\typeOpposite\\{1}_反转对战.png", this.Config.PokemonImageBaseDir, msgContent) + "[/Image]\r\n";
                }
                if (File.Exists(string.Format("{0}\\typeOpposite\\{1}_一般.png", this.Config.PokemonImageBaseDir, msgContent)))
                {
                    sendStr = sendStr + "防御:[Image]" + string.Format("{0}\\typeOpposite\\{1}_一般.png", this.Config.PokemonImageBaseDir, msgContent) + "[/Image]\r\n";
                }
                if (sendStr == "")
                {
                    sendStr = "[@QQ]请确定该宝可梦是否存在!";
                }
                else
                {
                    sendStr = "[@QQ]\r\n" + sendStr;
                }
                SendExtension.SendClusterIM(Client, eventArgs.ClusterInfo.ClusterId, PluginExtension.ReplaceVariable(eventArgs, sendStr, true));
                eventArgs.Cancel = true;
                return;
            }
        }