Exemplo n.º 1
0
        public override async Task <IEnumerable <IMessageBase> > GetReply(ChainEventArgs chat)
        {
            if (chat.Message.StartsWith("/清人"))
            {
                Logger.Instance.AddLog(LogType.Debug, "接受到检查指令");
                var GroupMember = await chat.Session.GetGroupMemberListAsync(chat.FromGroup);

                var clan   = BaseData.Instance.container.Resolve <ICocCoreClans>();
                var result = clan.GetClansMembers(BaseData.Instance.config["部落冲突"][chat.FromGroup.ToString()].Trim());
                if (result == null)
                {
                    return(new IMessageBase[] { new PlainMessage("请检查设置或者绑定部落后才使用此功能!") });
                }
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("不在部落的成员名单: ");
                List <string> noBind = new List <string>();
                foreach (var member in GroupMember)
                {
                    using var api = new GameAPI(chat.FromGroup, member.Id, chat.Session);
                    try
                    {
                        if (api.Member.ClanData.Count < 1)
                        {
                            noBind.Add(api.Member.Member.Card);
                            continue;
                        }
                        if (api.Member.ClanData.Any(x => !x.InClan))
                        {
                            sb.AppendLine(member.Name + ":-");
                            var buffer = api.Member.ClanData;
                            foreach (var data in buffer)
                            {
                                if (!data.InClan)
                                {
                                    if (string.IsNullOrEmpty(data.Name))
                                    {
                                        api.Member.ClanData.Remove(api.Member.ClanData.Where(x => x.ClanID == data.ClanID).First());
                                    }
                                    else
                                    {
                                        try
                                        {
                                            sb.AppendLine(" * " + data.Name + " 已经不在部落" + (DateTime.Now - data.LastSeenInClan.Value).TotalDays.ToString("N2") + "天");
                                        }
                                        catch
                                        {
                                            sb.AppendLine(" * " + data.Name + " 无在部落记录");
                                        }
                                    }
                                }
                            }
                            sb.AppendLine("==============");
                        }
                    }
                    catch
                    {
                        continue;
                    }
                }
                sb.AppendLine("群里无绑定名单: ");
                foreach (var nb in noBind)
                {
                    sb.AppendLine(nb);
                }
                return(new IMessageBase[] { BaseData.TextToImg(sb.ToString(), chat.Session) });
            }
            return(await base.GetReply(chat));
        }
Exemplo n.º 2
0
        public static async Task <bool> NewMember(string id, ApplyEventArgs e)
        {
            if (Directory.GetFiles("com.coc.groupadmin\\Blacklist").Any(x => x.EndsWith(e.EventArgs.FromQQ.ToString())))
            {
                //在黑名单内,直接拒绝
                return(false);
            }
            Logger.Instance.AddLog(LogType.Info, "接受到新人申请");
            ICocCorePlayers players    = BaseData.Instance.container.Resolve <ICocCorePlayers>();
            List <int>      levels     = new List <int>();
            int             heroLvNeed = 0;
            Player          player     = players.GetPlayer(id);

            if (player != null)
            {
                StringBuilder sb = new StringBuilder();
                bool          troopFull = true, spellFull = true, heroFull = true;
                var           troopsLV = BaseData.GetTownhallTroopsLV(player.TownHallLevel - 1);
                sb.AppendLine("大本营等级:" + player.TownHallLevel + ",名字:" + player.Name);
                sb.AppendLine("兵力:");
                foreach (var troop in player.Troops)
                {
                    if (troop.Village == "home")
                    {
                        if (!troopsLV.Keys.Contains(troop.Name.Replace(" ", "_")))
                        {
                            for (int x = 1; x < BaseData.Instance.THLevels.Length; x++)
                            {
                                BaseData.Instance.thConfig[x.ToString() + "本"].AddKey(troop.Name.Replace(" ", "_"), troop.MaxLevel.ToString());
                            }
                            BaseData.Instance.config["兵种翻译"].AddKey(troop.Name.Replace(" ", "_"), troop.Name);
                            FileIniDataParser parser = new FileIniDataParser();
                            parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                            parser.WriteFile("config.ini", BaseData.Instance.config);
                            sb.AppendLine(troop.Name + " Townhall.ini 设置有错误,已自动生成");
                        }
                        else
                        {
                            if (troopsLV[troop.Name.Replace(" ", "_")] == 99)
                            {
                                BaseData.Instance.thConfig[player.TownHallLevel.ToString() + "本"][troop.Name.Replace(" ", "_")] = troop.MaxLevel.ToString();
                                FileIniDataParser parser = new FileIniDataParser();
                                parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                                troopsLV = BaseData.GetTownhallTroopsLV(player.TownHallLevel);
                            }
                            if (troopsLV[troop.Name.Replace(" ", "_")] > troop.Level)
                            {
                                troopFull = false;
                                try
                                {
                                    sb.AppendLine(BaseData.Instance.config["兵种翻译"][troop.Name.Replace(" ", "_")] + " 还缺" + (troopsLV[troop.Name.Replace(" ", "_")] - troop.Level) + "级");
                                    levels.Add(troopsLV[troop.Name.Replace(" ", "_")] - troop.Level);
                                }
                                catch
                                {
                                    sb.AppendLine(troop.Name + " 还缺" + (troopsLV[troop.Name.Replace(" ", "_")] - troop.Level) + "级");
                                }
                            }
                        }
                    }
                }
                if (troopFull)
                {
                    sb.AppendLine("已满级");
                }
                sb.AppendLine("药水:");
                foreach (var spell in player.Spells)
                {
                    if (!troopsLV.Keys.Contains(spell.Name.Replace(" ", "_")))
                    {
                        for (int x = 1; x < BaseData.Instance.THLevels.Length; x++)
                        {
                            BaseData.Instance.thConfig[x.ToString() + "本"].AddKey(spell.Name.Replace(" ", "_"), spell.MaxLevel.ToString());
                        }
                        BaseData.Instance.config["兵种翻译"].AddKey(spell.Name.Replace(" ", "_"), spell.Name);
                        FileIniDataParser parser = new FileIniDataParser();
                        parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                        parser.WriteFile("config.ini", BaseData.Instance.config);
                        sb.AppendLine(spell.Name + " Townhall.ini 设置有错误,已自动生成");
                    }
                    else
                    {
                        if (troopsLV[spell.Name.Replace(" ", "_")] == 99)
                        {
                            BaseData.Instance.thConfig[player.TownHallLevel + "本"][spell.Name.Replace(" ", "_")] = spell.MaxLevel.ToString();
                            FileIniDataParser parser = new FileIniDataParser();
                            parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                            troopsLV = BaseData.GetTownhallTroopsLV(player.TownHallLevel);
                        }
                        if (troopsLV[spell.Name.Replace(" ", "_")] > spell.Level)
                        {
                            spellFull = false;
                            try
                            {
                                sb.AppendLine(BaseData.Instance.config["兵种翻译"][spell.Name.Replace(" ", "_")] + " 还缺" + (troopsLV[spell.Name.Replace(" ", "_")] - spell.Level) + "级");
                                levels.Add(troopsLV[spell.Name.Replace(" ", "_")] - spell.Level);
                            }
                            catch
                            {
                                sb.AppendLine(spell.Name + " 还缺" + (troopsLV[spell.Name.Replace(" ", "_")] - spell.Level) + "级");
                            }
                        }
                    }
                }
                if (spellFull)
                {
                    sb.AppendLine("已满级");
                }
                if (player.Heroes.Count > 0)
                {
                    sb.AppendLine("英雄:");
                    foreach (var hero in player.Heroes)
                    {
                        if (hero.Village == "home")
                        {
                            if (!troopsLV.Keys.Contains(hero.Name.Replace(" ", "_")))
                            {
                                for (int x = 1; x < BaseData.Instance.THLevels.Length; x++)
                                {
                                    BaseData.Instance.thConfig[x.ToString() + "本"].AddKey(hero.Name.Replace(" ", "_"), hero.MaxLevel.ToString());
                                }
                                BaseData.Instance.config["兵种翻译"].AddKey(hero.Name.Replace(" ", "_"), hero.Name);
                                FileIniDataParser parser = new FileIniDataParser();
                                parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                                parser.WriteFile("config.ini", BaseData.Instance.config);
                                sb.AppendLine(hero.Name + " Townhall.ini 设置有错误,已自动生成");
                            }
                            else
                            {
                                if (troopsLV[hero.Name.Replace(" ", "_")] == 99)
                                {
                                    BaseData.Instance.thConfig[player.TownHallLevel + "本"][hero.Name.Replace(" ", "_")] = hero.MaxLevel.ToString();
                                    FileIniDataParser parser = new FileIniDataParser();
                                    parser.WriteFile("Townhall.ini", BaseData.Instance.thConfig);
                                    troopsLV = BaseData.GetTownhallTroopsLV(player.TownHallLevel);
                                }
                                if (troopsLV[hero.Name.Replace(" ", "_")] > hero.Level)
                                {
                                    heroFull    = false;
                                    heroLvNeed += (troopsLV[hero.Name.Replace(" ", "_")] - hero.Level);
                                    try
                                    {
                                        sb.AppendLine(BaseData.Instance.config["兵种翻译"][hero.Name.Replace(" ", "_")] + " 还缺" + (troopsLV[hero.Name.Replace(" ", "_")] - hero.Level) + "级");
                                    }
                                    catch
                                    {
                                        sb.AppendLine(hero.Name + " 还缺" + (troopsLV[hero.Name.Replace(" ", "_")] - hero.Level) + "级");
                                    }
                                }
                            }
                        }
                    }
                    if (heroFull)
                    {
                        sb.AppendLine("已满级");
                    }
                }
                bool allow;
                if (levels.Count(x => x >= 1) > 6 || heroLvNeed >= 30)
                {
                    sb.AppendLine("不批准!科技不足!");
                    allow = false;
                }
                else
                {
                    sb.AppendLine("批准!科技已足够!");
                    allow = true;
                }
                if (player.WarStars >= 500)
                {
                    sb.AppendLine("战星已超过500,强制批准!");
                    allow = true;
                }
                await e.Session.SendGroupMessageAsync(e.EventArgs.FromGroup, new PlainMessage("新人距离上一本的审核资料如下:\n" + sb.ToString()));

                return(allow);
            }
            else
            {
                //申请是来骂人的
                foreach (var keyvalue in valuePairs(configType.禁止词句))
                {
                    if (id == keyvalue.Key)
                    {
                        if (int.TryParse(keyvalue.Value, out int ticks))
                        {
                            if (ticks > 0)
                            {
                                return(false);
                            }
                        }
                    }
                }
                return(true);
            }
        }
Exemplo n.º 3
0
        static async Task Main(string[] args)
        {
            string key = null;

            if (args.Length > 0)
            {
                key = args[0];
            }
            long qqId = -1;

            if (args.Length > 1)
            {
                qqId = Convert.ToInt64(args[1]);
            }
            try
            {
                Logger.Instance.AddLog(LogType.Info, "正在加载...");
                FileIniDataParser parse = new FileIniDataParser();
                if (!File.Exists("config.ini"))
                {
                    BaseData.Instance.config = new IniData();
                    foreach (var section in (configType[])Enum.GetValues(typeof(configType)))
                    {
                        BaseData.Instance.config.Sections.AddSection(section.ToString());
                    }
                    BaseData.InitFirstUse();
                    parse.WriteFile("config.ini", BaseData.Instance.config, Encoding.Unicode);
                }
                BaseData.LoadCOCData();
                Logger.Instance.AddLog(LogType.Info, "已加载" + BaseData.Instance.config.Sections.Count + "区域");
                if (BaseData.Instance.checkClanWar != null)
                {
                    BaseData.Instance.checkClanWar.Abort();
                    BaseData.Instance.checkClanWar = null;
                }
                BaseData.ReadGameData();
            }
            catch (Exception ex)
            {
                Logger.Instance.AddLog(LogType.Error, ex.Message);
            }
            if (key == null)
            {
                if (!BaseData.valuePairs(configType.部落冲突).TryGetValue("AuthKey", out key))
                {
                    Logger.Instance.AddLog(LogType.Error, "法找到可使用的AuthKey! 请在config.ini的部落冲突栏位添加AuthKey = 相应的AuthKey!");
                    Console.ReadLine();
                    return;
                }
            }
            if (qqId == -1)
            {
                if (!BaseData.valuePairs(configType.部落冲突).TryGetValue("QQ号", out string qqString))
                {
                    Logger.Instance.AddLog(LogType.Error, "无法找到可使用的QQ号! 请在config.ini的部落冲突栏位添加QQ号 = 相应的QQ号!");
                    Console.ReadLine();
                    return;
                }
                if (!long.TryParse(qqString, out qqId))
                {
                    Logger.Instance.AddLog(LogType.Error, "QQ号不正确!请确保QQ号只有纯数字!");
                    Console.ReadLine();
                    return;
                }
            }
            LoggedInQQ = qqId;
            AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit;
Loop:
            try
            {
                MiraiHttpSessionOptions options = new MiraiHttpSessionOptions("127.0.0.1", 8080, key);
                await using var session        = new MiraiHttpSession();
                BaseData.Instance.checkClanWar = new Thread(new Threading(session).CheckClanWar)
                {
                    IsBackground = true
                };
                BaseData.Instance.checkClanWar.Start();
                session.AddPlugin(new GroupMessageHandler());
                session.AddPlugin(new GroupRequestHandler());
                session.AddPlugin(new GroupExitHandler());
                Logger.Instance.AddLog(LogType.Info, "创建Event监听成功!");
Retry:
                try
                {
                    await session.ConnectAsync(options, qqId, true);
                }
                catch
                {
                    goto Retry;
                }
                Logger.Instance.AddLog(LogType.Info, "监听开始!");
                do
                {
                    var input = Console.ReadLine();
                    switch (input)
                    {
                    case "/D":
                        if (!Directory.Exists("apk"))
                        {
                            Directory.CreateDirectory("apk");
                            Logger.Instance.AddLog(LogType.Info, "把部落冲突APK文件放到这个文件夹内后再输入/D");
                            Process.Start("explorer.exe", Path.Combine(Environment.CurrentDirectory, "apk"));
                            break;
                        }
                        else
                        {
                            foreach (var f in Directory.GetFiles("apk", "*.*", SearchOption.AllDirectories))
                            {
                                if (!f.EndsWith(".apk"))
                                {
                                    File.Delete(f);
                                }
                            }
                        }
                        var files = Directory.GetFiles("apk", "*.apk", SearchOption.TopDirectoryOnly);
                        Array.Sort(files, StringComparer.OrdinalIgnoreCase);
                        var file = files.Last();
                        var zip  = file.Replace(".apk", ".zip");
                        File.Copy(file, zip);
                        ZipArchive zipFile = ZipFile.OpenRead(zip);
                        zipFile.ExtractToDirectory(Path.Combine(Environment.CurrentDirectory, "apk"));
                        foreach (var f in Directory.GetFiles("apk", "*.csv", SearchOption.AllDirectories))
                        {
                            File.WriteAllBytes(f, SCDecompress.Decompress(f));
                            if (f.EndsWith("buildings.csv") || f.EndsWith("characters.csv") || f.EndsWith("heros.csv") || f.EndsWith("spells.csv") || f.EndsWith("texts.csv"))
                            {
                                var local = Path.Combine(Environment.CurrentDirectory, f.Split('\\').Last());
                                if (File.Exists(local))
                                {
                                    File.Delete(local);
                                }
                                File.Copy(f, local);
                            }
                        }
                        FileIniDataParser parser = new FileIniDataParser();
                        BaseData.UpdateTownhallINI(parser);
                        BaseData.UpdateTranslate(parser);
                        BaseData.Instance.chains.Clear();
                        BaseData.Instance.checkClanWar.Abort();
                        BaseData.Instance.config = null;
                        GC.Collect();
                        BaseData.LoadCOCData();
                        break;
                    }
                }while (true);
            }
            catch (Exception ex)
            {
                Logger.Instance.AddLog(LogType.Error, ex.ToString());
                goto Loop;
            }
        }
Exemplo n.º 4
0
 public override async Task <IEnumerable <IMessageBase> > GetReply(ChainEventArgs chat)
 {
     if (chat.Message == "/部落战")
     {
         ICocCoreClans clan     = BaseData.Instance.container.Resolve <ICocCoreClans>();
         var           clanData = clan.GetCurrentWar(BaseData.Instance.config["部落冲突"][chat.FromGroup.ToString()]);
         if (!string.IsNullOrEmpty(clanData.Reason))
         {
             return(new IMessageBase[] { new PlainMessage("无法获取部落资料!" + clanData.Reason) });
         }
         else
         {
             if (clanData.State == "inWar")
             {
                 StringBuilder sb = new StringBuilder();
                 sb.Append("当前的部落战资料:\n");
                 sb.Append("当前我方战星: " + clanData.Clan.Stars + "(摧毁:" + clanData.Clan.DestructionPercentage + ")\n");
                 sb.Append("当前对手战星:" + clanData.Opponent.Stars + "(摧毁:" + clanData.Opponent.DestructionPercentage + ")\n");
                 sb.AppendLine();
                 foreach (var Member in clanData.Clan.Members.OrderBy(x => x.MapPosition))
                 {
                     if (Member.Attacks != null)
                     {
                         sb.Append(Member.Name + "已进攻 " + Member.Attacks.Count + " 次 \n");
                         int x = 1;
                         foreach (var attack in Member.Attacks)
                         {
                             if (x == 1)
                             {
                                 sb.Append("❶");
                             }
                             else
                             {
                                 sb.Append("❷");
                             }
                             sb.Append("攻击了" + clanData.Opponent.Members.Where(y => y.Tag == attack.DefenderTag).FirstOrDefault().MapPosition + "号获得" + attack.Stars + "星|摧毁:" + attack.DestructionPercentage + "%\n");
                             x++;
                         }
                         sb.Append("\n");
                     }
                     else
                     {
                         sb.Append(Member.Name + " " + Member.Tag + " 无进攻次数\n");
                     }
                 }
                 sb.Append("战斗日结束时间:" + clanData.EndTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                 return(new IMessageBase[] { BaseData.TextToImg(sb.ToString(), chat.Session) });
             }
             else if (clanData.State == "warEnded")
             {
                 StringBuilder sb = new StringBuilder();
                 sb.Append("当前部落战资料:\n");
                 sb.Append("当前我方战星: " + clanData.Clan.Stars + "(摧毁:" + clanData.Clan.DestructionPercentage + ")\n");
                 sb.Append("当前对手战星:" + clanData.Opponent.Stars + "(摧毁:" + clanData.Opponent.DestructionPercentage + ")\n");
                 sb.AppendLine();
                 foreach (var Member in clanData.Clan.Members.OrderBy(x => x.MapPosition))
                 {
                     if (Member.Attacks != null)
                     {
                         sb.Append(Member.Name + "已进攻 " + Member.Attacks.Count + " 次 \n");
                         int x = 1;
                         foreach (var attack in Member.Attacks)
                         {
                             if (x == 1)
                             {
                                 sb.Append("❶");
                             }
                             else
                             {
                                 sb.Append("❷");
                             }
                             sb.Append("攻击了" + clanData.Opponent.Members.Where(y => y.Tag == attack.DefenderTag).FirstOrDefault().MapPosition + "号获得" + attack.Stars + "星|摧毁:" + attack.DestructionPercentage + "%\n");
                             x++;
                         }
                         sb.Append("\n");
                     }
                     else
                     {
                         sb.Append(Member.Name + " 无进攻\n");
                     }
                 }
                 sb.Append("部落战已结束!");
                 return(new IMessageBase[] { BaseData.TextToImg(sb.ToString(), chat.Session) });
             }
             else if (clanData.State == "preparation")
             {
                 StringBuilder sb = new StringBuilder();
                 sb.Append("当前部落战资料:\n");
                 int x = 1;
                 foreach (var Member in clanData.Clan.Members.OrderBy(y => y.MapPosition))
                 {
                     sb.AppendLine(x + ". " + Member.Name);
                     x++;
                 }
                 sb.AppendLine("开战时间为: " + clanData.EndTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                 sb.AppendLine("当前为准备日");
                 return(new IMessageBase[] { BaseData.TextToImg(sb.ToString(), chat.Session) });
             }
             else if (clanData.Reason == "inMaintenance")
             {
                 return(new IMessageBase[] { new AtMessage(chat.FromQQ), new PlainMessage(" 当前服务器在维护!") });
             }
             else
             {
                 return(new IMessageBase[] { new AtMessage(chat.FromQQ), new PlainMessage(" 当前部落无部落战!") });
             }
         }
     }
     return(await base.GetReply(chat));
 }
Exemplo n.º 5
0
 public override async Task <IEnumerable <IMessageBase> > GetReply(ChainEventArgs chat)
 {
     if (chat.Message == "/联赛")
     {
         ICocCoreClans war      = BaseData.Instance.container.Resolve <ICocCoreClans>();
         var           keypairs = BaseData.valuePairs(configType.部落冲突);
         if (keypairs.ContainsKey(chat.FromGroup.ToString()))
         {
             List <IMessageBase> result = new List <IMessageBase>();
             LeagueWar           league = war.GetCurrentWarLeague(keypairs[chat.FromGroup.ToString()]);
             if (league != null && string.IsNullOrEmpty(league.Reason))
             {
                 StringBuilder sb = new StringBuilder();
                 sb.AppendLine("============");
                 foreach (var clan in league.Clans)
                 {
                     sb.AppendLine("部落名: " + clan.Name);
                     sb.AppendLine("参赛成员:" + clan.Members.Length);
                     sb.AppendLine("-----------");
                     for (int x = 4; x <= 13; x++)
                     {
                         int count = clan.Members.Count(m => m.TownhallLevel == x);
                         if (count > 0)
                         {
                             sb.AppendLine("拥有" + BaseData.Instance.THLevels[x] + "本 x" + count);
                         }
                     }
                     sb.AppendLine("============");
                 }
                 result.Add(BaseData.TextToImg(sb.ToString(), chat.Session));
                 sb.Clear();
                 Array.Reverse(league.Rounds);
                 Parallel.ForEach(league.Rounds, (rounds) =>
                 {
                     Parallel.ForEach(rounds.warTags, (warTag) =>
                     {
                         if (warTag != "#0")
                         {
                             var roundData = war.GetCurrentWarLeagueRound(warTag);
                             Logger.Instance.AddLog(LogType.Debug, "联赛部落" + roundData.clan.Name + " vs " + roundData.opponent.Name);
                             if (roundData.clan.Tag == keypairs[chat.FromGroup.ToString()].ToUpper())
                             {
                                 if (roundData.state == "preparation")
                                 {
                                     sb.AppendLine("下场联赛开战时间为: " + roundData.StartTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                                     sb.AppendLine("对手为" + roundData.opponent.Name);
                                     result.Add(BaseData.TextToImg(sb.ToString(), chat.Session));
                                     sb.Clear();
                                 }
                                 else if (roundData.state == "inWar")
                                 {
                                     sb.AppendLine("当前联赛结束时间为: " + roundData.EndTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                                     sb.AppendLine("对手为" + roundData.opponent.Name);
                                     sb.AppendLine("当前我方战星: " + roundData.clan.Stars + ", 敌方战星: " + roundData.opponent.Stars);
                                     result.Add(BaseData.TextToImg(sb.ToString(), chat.Session));
                                 }
                             }
                             else if (roundData.opponent.Tag == keypairs[chat.FromGroup.ToString()].ToUpper())
                             {
                                 if (roundData.state == "preparation")
                                 {
                                     sb.AppendLine("下场联赛开战时间为: " + roundData.StartTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                                     sb.AppendLine("对手为" + roundData.clan.Name);
                                     result.Add(BaseData.TextToImg(sb.ToString(), chat.Session));
                                     sb.Clear();
                                 }
                                 else if (roundData.state == "inWar")
                                 {
                                     sb.AppendLine("当前联赛结束时间为: " + roundData.EndTime.ToLocalTime().ToString("dd/MM/yyyy hh:mm:ss tt"));
                                     sb.AppendLine("对手为" + roundData.clan.Name);
                                     sb.AppendLine("当前我方战星: " + roundData.opponent.Stars + ", 敌方战星: " + roundData.clan.Stars);
                                     result.Add(BaseData.TextToImg(sb.ToString(), chat.Session));
                                 }
                             }
                         }
                     });
                 });
                 return(result);
             }
             else if (!string.IsNullOrEmpty(league.Reason))
             {
                 if (league.Reason == "inMaintenance")
                 {
                     return(new IMessageBase[] { new PlainMessage(" 当前服务器在维护!") });
                 }
             }
             else
             {
                 return(new IMessageBase[] { new PlainMessage("请在config.ini设置好Clan_ID后再继续使用此功能或者当前不在联赛时间") });
             }
         }
         else
         {
             return(new IMessageBase[] { new PlainMessage("请在config.ini设置好Clan_ID后再继续使用此功能") });
         }
     }
     return(await base.GetReply(chat));
 }