//WebConsole wConsole = new WebConsole(); public void onchat(string text, bool isJson) { List <string> links = new List <string>(); string json = null; if (isJson) { json = text; text = ChatParser.ParseText(json, links); } String chat = text; String chatclean = GetVerbatim(text); //wConsole.process(chat); if (Regex.IsMatch(chatclean, "^\\[WITHER\\] Finalmente livre! Prepare-se para enfrentar a morte!$", RegexOptions.IgnoreCase)) { Telegram.SendPrivateMessage(816833078, "O Wither acaba de spawnar"); } if (Regex.IsMatch(chatclean, "^\\[ENDER DRAGON\\] Estou de volta para dominar a todos!!!$", RegexOptions.IgnoreCase)) { Telegram.SendPrivateMessage(816833078, "O Ender Dragon acaba de spawnar"); } if (chatclean.Equals("»Bem vindo de volta. Por favor digite /login sua-senha.")) { ConsoleIO.WriteLineFormatted("&4[Auto-Login] &cLogando no servidor"); Program.Client.SendText("/login htbot"); vars.loggedIn = true; } if (Regex.IsMatch(chatclean, "^Saldo de (.+): (.+) Coins.$")) { Match match = Regex.Match(chatclean, "^Saldo de (.+): (.+) Coins.$"); string moneynick = match.Groups[1].Value; string money = match.Groups[2].Value; if (!vars.checkMultipleMoney) { if (vars.tmoney) { response.sendMoney(moneynick, money); vars.tmoney = false; } } else { vars.multiplemoney.Add(moneynick + " <b>" + money + "</b>"); if (vars.multiplemoney.Count == vars.multiplemoneycheck) { response.sendMultipleMoney(vars.multiplemoney); } } } if (Regex.IsMatch(chatclean, "^(.+): ([0-9,]+) XP\\((.+)\\/(.+)\\)$")) { Match match = Regex.Match(chatclean, "(.+): ([0-9,]+) XP\\((.+)\\/(.+)\\)$"); string skill = match.Groups[1].Value; string level = match.Groups[2].Value; string xp1 = match.Groups[3].Value; string xp2 = match.Groups[4].Value; if (!vars.singleSkillCheck) { switch (skill) { case "Acrobacia": skill = "🤸🏻♂️ (" + skill; break; case "Reparaçao": skill = "▫️ (" + skill; break; case "Machado": skill = "⚔️ (" + skill; break; case "Arqueiro": skill = "🏹 (" + skill; break; case "Espadas": skill = "⚔️ (" + skill; break; case "Domar": skill = "🦴 (" + skill; break; case "Desarmado": skill = "👊🏻 (" + skill; break; case "Escavaçao": skill = "🥄 (" + skill; break; case "Pescador": skill = "🐟 (" + skill; break; case "Herbalismo": skill = "🌿 (" + skill; break; case "Mineraçao": skill = "⛏ (" + skill; break; case "Lenhador": skill = "🌳 (" + skill; break; } bool found = false; List <Account> accounts = Telegram.data.GetAccountList(vars.atualUser); foreach (Account acc in accounts) { if (acc.getNick().ToLower().Equals(vars.atualNick.ToLower())) { found = true; } } int oldLvl = Telegram.data.skillLevel(vars.atualUser, vars.atualNick, match.Groups[1].Value, int.Parse(level.Replace(",", ""))); int diference = int.Parse(level.Replace(",", "")) - oldLvl; string strdf; if ((diference > 0) && (found)) { strdf = " ➕ <b>" + diference + "</b>%0A"; } else { strdf = "%0A"; } if ((vars.checkSkills) || (vars.checkMultipleSkills)) { vars.skills.Add(skill + ")" + " <b>" + level + "</b> (<code>" + xp1 + "</code>)" + strdf); vars.skillsList++; if (!vars.checkMultipleSkills) { if (vars.skillsList == 10) { response.sendSkills(vars.skills); } } else { if ((vars.checkedNicksCount == vars.multipleskillscheck) && (vars.skillsList == 10)) { vars.skills.Add("════════════════════%0A" + vars.emjinfo + " Este comando será desativado automaticamente Amanhã (18/05/19)%0AComo alternativa use <code>/nomedaskill</code>,%0AExemplo <b>/pescador</b> %0Aou <code>/inspect nick</code>"); response.sendSkills(vars.skills); } } } } else { if (vars.checkingSkill.ToLower().Equals(skill.ToLower())) { bool found = false; List <Account> accounts = Telegram.data.GetAccountList(vars.atualUser); foreach (Account acc in accounts) { if (acc.getNick().ToLower().Equals(vars.atualNick.ToLower())) { found = true; } } int oldLvl = Telegram.data.skillLevel(vars.atualUser, vars.atualNick, skill, int.Parse(level.Replace(",", ""))); int diference = int.Parse(level.Replace(",", "")) - oldLvl; string strdf; if ((diference > 0) && (found)) { strdf = " ➕ <b>" + diference + "</b>%0A"; } else { strdf = "%0A"; } vars.skills.Add(vars.atualNick + ")" + " <b>" + level + "</b> (<code>" + xp1 + "</code>)" + strdf); vars.skillsList++; if (vars.skillsList == vars.multipleskillscheck) { response.sendSkills(vars.skills); } } } } if (Regex.IsMatch(chatclean, "^. Aguarde para utilizar esse comando novamente!$")) { if (vars.checkmctop) { Telegram.SendHtmlMessage(vars.emjneutralface + " Por favor, aguarde um pouco antes de usar este comando novamente!"); } } if (Regex.IsMatch(chatclean, "^Player nao encontrado no banco de dados!$")) { if ((vars.checkSkills) || (vars.checkmcrank)) { Telegram.SendHtmlMessage(vars.emjneutralface + " Ops, Aparentemente essa conta nao existe no servidor, Verifique o nick e tente novamente!"); } } if (Regex.IsMatch(chatclean, "^. Não existe um jogador com o nick (.+)\\.$", RegexOptions.IgnoreCase)) { Match match = Regex.Match(chatclean, "^. Não existe um jogador com o nick (.+)\\.$", RegexOptions.IgnoreCase); Telegram.SendHtmlMessage(vars.emjneutralface + " Ops, Aparentemente a conta " + match.Groups[1].Value + " não existe no servidor, Verifique o nick e tente novamente!"); } if (Regex.IsMatch(chatclean, "^Skill inexistente, veja se digitou corretamente!$")) { if ((vars.checkSkills) || (vars.checkmctop)) { Telegram.SendHtmlMessage(vars.emjneutralface + " Ops, Aparentemente essa skill nao existe no servidor, Verifique e tente novamente!"); } } if (Regex.IsMatch(chatclean, "^(\\d{2,5})\\. (.+) - (\\d{1,5})$")) { Match match = Regex.Match(chatclean, "^(\\d{2,5})\\. (.+) - (\\d{1,5})$"); int pos = int.Parse(match.Groups[1].Value); string nick = match.Groups[2].Value; int level = int.Parse(match.Groups[3].Value); string strpos; int dif; switch (pos) { case 1: strpos = "🥇"; break; case 2: strpos = "🥈"; break; case 3: strpos = "🥉"; break; case 4: strpos = " ➃"; break; case 5: strpos = " ➄"; break; case 6: strpos = " ➅"; break; case 7: strpos = " ➆"; break; case 8: strpos = " ➇"; break; case 9: strpos = " ➈"; break; default: strpos = "(" + pos + ")"; break; } if (pos == 1) { vars.firstlevel = level; } dif = vars.firstlevel - level; if (vars.checkmctop) { if (dif > 0) { vars.mctop.Add(strpos + " <b>" + nick + "</b> (<code>" + level + "</code>) - " + dif + "%0A"); } else { vars.mctop.Add(strpos + " <b>" + nick + "</b> (<code>" + level + "</code>)%0A"); } vars.mcTopList++; if (vars.mcTopList == 10) { response.sendmctop(vars.mctop); } } } if (Regex.IsMatch(chatclean, "^Skills do player (.+)$")) { Match match = Regex.Match(chatclean, "^Skills do player (.+)$"); vars.atualNick = match.Groups[1].Value; if (!vars.singleSkillCheck) { if (vars.checkSkills) { vars.skills.Clear(); vars.skillsList = 0; vars.skills.Add("Essas são as skills de <code>" + match.Groups[1].Value + "</code> :%0A════════════════════%0A"); } if (vars.checkMultipleSkills) { vars.checkedNicksCount++; vars.skillsList = 0; if (vars.checkedNicksCount > 1) { vars.skills.Add("%0A"); } vars.skills.Add("Essas são as skills de <code>" + match.Groups[1].Value + "</code> :%0A════════════════════%0A"); } } } if (Regex.IsMatch(chatclean, "^(Acrobacia|Arqueiro|Machado|Escavaçao|Pescador|Herbalismo|Mineraçao|Reparaçao|Espadas|Lenhador|Global) - Posiçao #([0-9,]{1,6})$")) { Match match = Regex.Match(chatclean, "^(Acrobacia|Arqueiro|Machado|Escavaçao|Pescador|Herbalismo|Mineraçao|Reparaçao|Espadas|Lenhador|Global) - Posiçao #([0-9,]{1,6})$"); string skill = match.Groups[1].Value; int pos = int.Parse(match.Groups[2].Value.Replace(",", "")); if (vars.checkmcrank) { string strpos; switch (pos) { case 1: strpos = "🥇"; break; case 2: strpos = "🥈"; break; case 3: strpos = "🥉"; break; default: strpos = pos.ToString(); break; } vars.mcrank.Add(skill + " (" + strpos + ")%0A"); if (skill.ToLower().Equals("global")) { response.sendmcrank(vars.mcrank); } } } if (Regex.IsMatch(chatclean, "^-=RANKING DE SKILLS=-$")) { if (vars.checkmcrank) { vars.mcrank.Clear(); vars.mcrank.Add("Posição de: <code>" + vars.atualNick + "</code> no Ranking de skills:%0A════════════════════%0A"); } } if (Regex.IsMatch(chatclean, "^--CraftLandia--$")) { if (vars.checkmctop) { vars.mctop.Clear(); vars.mcTopList = 0; vars.mctop.Add("Ranking da skill <code>" + vars.mctopskill + "</code> :%0A════════════════════%0A"); } } if (Regex.IsMatch(chatclean, "^([0-9]+)\\) (.+) \\(([0-9,.]+) Coins\\)$")) { Match match = Regex.Match(chatclean, "([0-9]+)\\) (.+) \\(([0-9,.]+) Coins\\)$"); int pos = int.Parse(match.Groups[1].Value); string nick = match.Groups[2].Value; string money = match.Groups[3].Value; int arraypos = pos - 1; if (vars.tmoney) { vars.moneytop.Insert(arraypos, "[" + pos + "]" + " <b>" + nick + "</b> <code>" + money + "</code>%0A"); vars.moneyTopList++; if (vars.moneyTopList == 15) { response.sendMoneyTop(vars.moneytop); } } } if (Regex.IsMatch(chatclean, "^\\[Tesouro\\] (.+) encontrou um livro: Tesouro Nível (\\d{1,2})$")) { Match match = Regex.Match(chatclean, "^\\[Tesouro\\] (.+) encontrou um livro: Tesouro Nível (\\d{1,2})$"); string nick = match.Groups[1].Value; int level = int.Parse(match.Groups[2].Value); Telegram.data.addTreasure(level, nick); } if (chatclean.Equals("» TOP 15 jogadores mais ricos:")) { if (vars.tmoney) { vars.moneytop.Clear(); vars.moneyTopList = 0; } } if (Regex.IsMatch(chatclean, "(.+) alcançou nível (\\d{1,4}) na skill (.+)!")) { Match notificação = Regex.Match(chatclean, "(.+) alcançou nível (\\d{1,4}) na skill (.+)!"); string nick = notificação.Groups[1].Value; int nivel = int.Parse(notificação.Groups[2].Value); string skill = notificação.Groups[3].Value; bool success = Telegram.data.addNotification(nick, "<i>Alcançou</i> <code>" + nivel + "</code> <i>na skill:</i> <code>" + skill + "</code>"); if (success) { Telegram.SendHtmlMessage("🎉A conta <code>" + nick + "</code> Alcançou <code>" + nivel + "</code> <i>na skill:</i> <code>" + skill + "</code>🎉"); Program.Client.SendText("/g [Bezouro Bot] " + nick + " usa o Bot e ja sabe que alcançou " + nivel + " " + skill); } } if (Regex.IsMatch(chatclean, "^(.+) é o (\\d{1,5}). mais rico do servidor.$")) { if (vars.checkMoneyRank) { vars.checkMoneyRank = false; Match notificação = Regex.Match(chatclean, "^(.+) é o (\\d{1,5}). mais rico do servidor.$"); string nick = notificação.Groups[1].Value; int pos = int.Parse(notificação.Groups[2].Value); Telegram.SendHtmlMessage("<code>" + pos + "º</code>) <b>" + nick + "</b>"); } } if (Regex.IsMatch(chatclean, "^\\(Mensagem de (.+)\\): verificar (\\d\\d\\d\\d)$")) { Match match = Regex.Match(chatclean, "^\\(Mensagem de (.+)\\): verificar (\\d\\d\\d\\d)$"); string Nick = match.Groups[1].Value; int Token = int.Parse(match.Groups[2].Value); Program.Client.SendText("/r Verificando codigo!"); bool success = Telegram.data.Verify(Nick, Token); wait(4000); if (success) { Program.Client.SendText("/r Conta verificada com sucesso!"); } else { Program.Client.SendText("/r Houve um erro ao verificar sua conta!"); } } if (Regex.IsMatch(chatclean, "^» Players online: (\\d{1,4})$")) { Match match = Regex.Match(chatclean, "^» Players online: (\\d{1,4})$"); if (!vars.sendWM) { return; } else { response.sendWM(int.Parse(match.Groups[1].Value)); } } if (Regex.IsMatch(chatclean, "^\\[Server\\] REINICIANDO O SERVIDOR\\.$")) { Telegram.SendHtmlMessage(vars.emjinfo + "O servidor está reiniciando!"); } if (Regex.IsMatch(chatclean, "^\\(Mensagem de (.+)\\): ([0-1]) (\\d{4}) (.+)$")) { Match resposta = Regex.Match(chatclean, "^\\(Mensagem de (.+)\\): ([0-1]) (\\d{4}) (.+)$"); string Sender = resposta.Groups[1].Value; bool privado = Convert.ToBoolean(int.Parse(resposta.Groups[2].Value)); int Token = int.Parse(resposta.Groups[3].Value); string Message = resposta.Groups[4].Value; bool mathToken = Telegram.data.mathToken(Sender, Token); bool waiting = Telegram.data.ResponseLimit(Token); if (mathToken) { if (privado) { Telegram.SendPrivateMessage(Telegram.data.getIdFromToken(Token), vars.replaceEmoji(Message)); } else { if (waiting) { string response = "Mensagem de " + Sender + ":%0A════════════════════%0A" + vars.replaceEmoji(Message); Telegram.SendHtmlMessage(response); } else { Program.Client.SendText("/tell " + Sender + " Desculpe, Tempo de resposta (3s) excedido"); } } } else { Program.Client.SendText("/tell " + Sender + " Token invalido"); } } if (Regex.IsMatch(chatclean, "^\\(Mensagem de (.+)\\): 2 (\\d{4}) (.+)$")) { Match resposta = Regex.Match(chatclean, "^\\(Mensagem de (.+)\\): 2 (\\d{4}) (.+)$"); string Sender = resposta.Groups[1].Value; int Token = int.Parse(resposta.Groups[2].Value); string Message = resposta.Groups[3].Value; bool mathToken = Telegram.data.mathToken(Sender, Token); if (mathToken) { Telegram.data.addNotification(Sender, Message, true, Token); Program.Client.SendText("/tell " + Sender + " Mensagem salva!"); } else { Program.Client.SendText("/tell " + Sender + " Token invalido"); } } if (Regex.IsMatch(chatclean, "^\\(Mensagem de (.+)\\): (\\d{4})$")) { Match resposta = Regex.Match(chatclean, "^\\(Mensagem de (.+)\\): (\\d{4})$"); string Sender = resposta.Groups[1].Value; int Token = int.Parse(resposta.Groups[2].Value); bool mathToken = Telegram.data.mathToken(Sender, Token); string loggednick = Telegram.data.getNickFromToken(Token); if (Telegram.data.Protect(Sender)) { if (mathToken) { Program.Client.SendText("/tell " + Sender + " Bem vindo " + Sender); Telegram.data.login(Sender, true, false, true); } else { new Thread(new ThreadStart(delegate { System.Threading.Thread.Sleep(2000); if (Telegram.data.canLogin(Sender)) { if (loggednick != null) { Program.Client.SendText("/tell " + Sender + " [Protect] ola " + loggednick + ", o " + Sender + " foi avisado do seu login!"); Telegram.data.login(Sender, true, false, true); List <int> tokens = Telegram.data.getTokenProtected(Sender); foreach (int token in tokens) { Telegram.data.addNotification(Sender, loggednick + " Acessou sua conta", true, token); } } else { Program.Client.SendText("/tell " + Sender + " [Protect] Token invalido!"); } } })).Start(); } } } }
public void onTelegramMessage(string chat, string Suser, string text, bool mention, int usermention) { int user = int.Parse(Suser); if (!chat.Equals(Suser)) { if (text.Equals("ajuda")) { response.sendHelp(); } if (Regex.IsMatch(text, "^ajuda ([1-9])$", RegexOptions.IgnoreCase)) { response.sendHelp(Regex.Match(text, "^ajuda ([1-9])$", RegexOptions.IgnoreCase).Groups[1].Value); } if (text.Equals("changelog")) { response.sendChangelog(); } if (text.Equals("status")) { Telegram.SendTypingStatus(); response.sendStatus(vars.loggedIn); } if (Regex.IsMatch(text, "^add (.+)", RegexOptions.IgnoreCase)) { Match nick = Regex.Match(text, "^add (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); if (nick.Groups[1].Value.Contains(" ")) { response.sendNickSpace(); return; } List <Account> accs = data.GetAccountList(user); foreach (Account acc in accs) { if (acc.getNick().ToLower().Equals(nick.Groups[1].Value.ToLower())) { response.sendAccountAlreadyAdded(); return; } } data.addNewAccount(user, nick.Groups[1].Value); ConsoleIO.WriteLineFormatted("§d[Banco de dados] §2Adicionando o nick " + nick.Groups[1].Value + " id(" + user + ") Ao banco de dados!"); } /*if (Regex.IsMatch(text, "^tadd ([0-9]+) (.+)")) * { * Match nick = Regex.Match(text, "^tadd ([0-9]+) (.+)"); * data.addTreasure(int.Parse(nick.Groups[1].Value), nick.Groups[2].Value); * }*/ if (Regex.IsMatch(text, "^notificar (.+) (.+)", RegexOptions.IgnoreCase)) { Match notify = Regex.Match(text, "^notificar (.+) (.+)", RegexOptions.IgnoreCase); data.addNotification(notify.Groups[1].Value, notify.Groups[2].Value); } if (text.ToLower().Equals("tesouros")) { response.sendTreasures(user); } if (text.ToLower().Equals("link")) { Telegram.SendHtmlMessage(vars.emjinfo + " Link do grupo:%0Ahttps://t.me/joinchat/IcsdwkZ2PD3HdWCJCunNGQ"); } if (text.ToLower().Equals("mensagens")) { response.sendNotifications(user); } if (text.ToLower().Equals("limparmensagens")) { response.sendNotificationsClear(user); } if (text.ToLower().Equals("limpartesouros")) { response.sendTreasuresClear(user); } if (Regex.IsMatch(text, "^del (.+)", RegexOptions.IgnoreCase)) { Match nick = Regex.Match(text, "^del (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); if (nick.Groups[1].Value.Contains(" ")) { response.sendNickSpace(); return; } data.removeAccount(user, nick.Groups[1].Value); ConsoleIO.WriteLineFormatted("§d[Banco de dados] §2Removendo o nick " + nick.Groups[1].Value + " id(" + user + ") Do banco de dados!"); } if (Regex.IsMatch(text, "^cargo (.+) (user|moderador|admin)$", RegexOptions.IgnoreCase)) { Match match = Regex.Match(text, "^cargo (.+) (user|moderador|admin)$", RegexOptions.IgnoreCase); string name = match.Groups[1].Value; string cargo = match.Groups[2].Value; bool ok = false; Telegram.SendTypingStatus(); if (!mention) { Telegram.SendHtmlMessage(vars.emjerror + " Mencione alguem para usar este comando!"); } if (Telegram.isAdmin(user)) { Admin adm = Telegram.getAdmin(user); if (adm.canPromoteMembers()) { ok = Telegram.promoteUser(usermention, cargo); } else { Telegram.SendHtmlMessage(vars.emjerror + " Desculpe, você nao pode alterar cargos!"); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Apenas Admins podem usar este comando!"); } if (ok) { Telegram.SendHtmlMessage(vars.emjok + " Cargo de " + name + " Definido para " + cargo); } else { Telegram.SendHtmlMessage(vars.emjerror + " Erro ao processar a solicitação"); } } if (Regex.IsMatch(text, "^contas (.+)$", RegexOptions.IgnoreCase)) { Match match = Regex.Match(text, "^contas (.+)$", RegexOptions.IgnoreCase); string name = match.Groups[1].Value; bool ok = false; Telegram.SendTypingStatus(); if (!mention) { Telegram.SendHtmlMessage(vars.emjerror + " Mencione alguem para usar este comando!"); return; } if (Telegram.isAdmin(user)) { Admin adm = Telegram.getAdmin(user); if (adm.canPromoteMembers()) { response.sendNicknames(usermention); } else { Telegram.SendHtmlMessage(vars.emjerror + " Apenas Admins podem usar este comando!"); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Apenas Admins podem usar este comando!"); } } if (Regex.IsMatch(text, "^protect$", RegexOptions.IgnoreCase)) { response.sendProtectedNicknames(user); } if (Regex.IsMatch(text, "^protect (.+) (on|off)$", RegexOptions.IgnoreCase)) { Match match = Regex.Match(text, "^protect (.+) (on|off)$", RegexOptions.IgnoreCase); string name = match.Groups[1].Value; bool protect = match.Groups[2].Value.ToLower().Equals("on"); Telegram.SendTypingStatus(); Telegram.data.Protect(name, true, protect, user); } if (Regex.IsMatch(text, "^reconectar$", RegexOptions.IgnoreCase)) { Telegram.SendTypingStatus(); if (Telegram.isAdmin(user)) { Admin adm = Telegram.getAdmin(user); if (adm.canPromoteMembers()) { Program.Client.SendText("/ativar reiniciandohtbot"); Program.Restart(); Telegram.SendHtmlMessage(vars.emjok + " Reconectando ao servidor!"); } else { Telegram.SendHtmlMessage(vars.emjerror + " Desculpe, você não tem permissão para isso!"); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Apenas Admins podem usar este comando!"); } } if (Regex.IsMatch(text, "^reiniciar$", RegexOptions.IgnoreCase)) { Telegram.SendTypingStatus(); if (Telegram.isAdmin(user)) { Admin adm = Telegram.getAdmin(user); if (adm.canPromoteMembers()) { new Thread(new ThreadStart(delegate { Telegram.SendHtmlMessage(vars.emjok + " Reiniciando o bot!"); Program.Client.SendText("/ativar reiniciandohtbot"); Thread.Sleep(2000); Environment.Exit(0); })).Start(); } else { Telegram.SendHtmlMessage(vars.emjerror + " Desculpe, você não tem permissão para isso!"); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Apenas Admins podem usar este comando!"); } } if (text.ToLower().Equals("contas")) { response.sendNicknames(user); } if (vars.loggedIn) { if (Regex.IsMatch(text, "^online ([a-zA-Z0-9-_]+)$", RegexOptions.IgnoreCase)) { Match nick = Regex.Match(text, "^online ([a-zA-Z0-9-_]+)$", RegexOptions.IgnoreCase); bool isOnline = false; Telegram.SendTypingStatus(); foreach (string player in Program.Client.GetOnlinePlayers()) { if (player.ToLower().Equals(nick.Groups[1].Value.ToLower())) { isOnline = true; response.sendOnline(isOnline, player); } } if (!isOnline) { foreach (string player in Program.Client.GetOnlinePlayers()) { if (player.ToLower().Contains(nick.Groups[1].Value.ToLower())) { isOnline = true; response.sendOtherOnline(player); break; } } if (!isOnline) { response.sendOnline(isOnline, nick.Groups[1].Value); } } } if (Regex.IsMatch(text, "^money (.+)", RegexOptions.IgnoreCase)) { Match nick = Regex.Match(text, "^money (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); if (nick.Groups[1].Value.Contains(" ")) { if (nick.Groups[1].Value.Contains("rank ")) { vars.checkMoneyRank = true; Program.Client.SendText("/money " + nick.Groups[1].Value); return; } else { response.sendNickSpace(); return; } } if (nick.Groups[1].Value.ToLower().Equals("top")) { vars.tmoney = true; Program.Client.SendText("/money " + nick.Groups[1].Value); return; } vars.tmoney = true; Program.Client.SendText("/money @" + nick.Groups[1].Value); } if (Regex.IsMatch(text, "^inspect (.+)", RegexOptions.IgnoreCase)) { vars.resetVars(); Match nick = Regex.Match(text, "^inspect (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); vars.atualUser = user; if (nick.Groups[1].Value.Contains(" ")) { response.sendNickSpace(); return; } vars.checkSkills = true; Program.Client.SendText("/inspect " + nick.Groups[1].Value); } if (Regex.IsMatch(text, "^mctop (.+)", RegexOptions.IgnoreCase)) { Match skill = Regex.Match(text, "^mctop (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); vars.checkmctop = true; Program.Client.SendText("/mctop " + skill.Groups[1].Value); vars.mctopskill = skill.Groups[1].Value; } if (Regex.IsMatch(text, "^mctop$", RegexOptions.IgnoreCase)) { Match skill = Regex.Match(text, "^mctop$", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); vars.checkmctop = true; Program.Client.SendText("/mctop"); vars.mctopskill = "Geral"; } if (Regex.IsMatch(text, "^mcrank (.+)", RegexOptions.IgnoreCase)) { Match check = Regex.Match(text, "^mcrank (.+)", RegexOptions.IgnoreCase); Telegram.SendTypingStatus(); vars.checkmcrank = true; Program.Client.SendText("/mcrank " + check.Groups[1].Value); vars.atualNick = check.Groups[1].Value; } if (Regex.IsMatch(text, "^(Acrobacia|Reparaçao|Machado|Arqueiro|Espadas|Domar|Desarmado|Escavaçao|Pescador|Herbalismo|Mineraçao|Lenhador)$", RegexOptions.IgnoreCase)) { Match skill = Regex.Match(text, "^(Acrobacia|Reparaçao|Machado|Arqueiro|Espadas|Domar|Desarmado|Escavaçao|Pescador|Herbalismo|Mineraçao|Lenhador)$", RegexOptions.IgnoreCase); string Skill = skill.Groups[1].Value; vars.resetVars(); List <Account> accounts = Telegram.data.GetAccountList(user); vars.checkingSkill = Skill; vars.singleSkillCheck = true; vars.atualUser = user; vars.multipleskillscheck = accounts.Count; vars.checkedNicksCount = 0; Telegram.SendTypingStatus(); vars.skills.Add("Skill: <code>" + vars.checkingSkill + "</code> :%0A════════════════════%0A"); if (accounts.Count > 0) { foreach (Account account in accounts) { string acc = account.getNick(); wait(500); Program.Client.SendText("/inspect " + acc); wait(500); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } if (Regex.IsMatch(text, "^inspect$", RegexOptions.IgnoreCase)) { Telegram.SendTypingStatus(); vars.resetVars(); vars.checkMultipleSkills = true; vars.atualUser = user; List <Account> accounts = Telegram.data.GetAccountList(user); vars.multipleskillscheck = accounts.Count; vars.checkedNicksCount = 0; if (Telegram.data.getTimestamp() < 1558148400) { if (accounts.Count > 0) { foreach (Account account in accounts) { string acc = account.getNick(); wait(500); Program.Client.SendText("/inspect " + acc); wait(500); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Este comando está obsoleto e foi descontinuado!%0AComo alternativa teste /nomedaskill%0AExemplo: /pescador"); } } if (Regex.IsMatch(text, "^money$", RegexOptions.IgnoreCase)) { Telegram.SendTypingStatus(); vars.checkMultipleMoney = true; List <Account> accounts = Telegram.data.GetAccountList(user); vars.multiplemoneycheck = accounts.Count; vars.checkedmoneycount = 0; if (accounts.Count > 0) { foreach (Account account in accounts) { string acc = account.getNick(); wait(500); Program.Client.SendText("/money @" + acc); wait(500); } } else { Telegram.SendHtmlMessage(vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } if (Regex.IsMatch(text, "^online$", RegexOptions.IgnoreCase)) { Telegram.SendTypingStatus(); response.sendOnlineNicknames(user); } if (Regex.IsMatch(text, "^verificar (.+)$", RegexOptions.IgnoreCase)) { Match match = Regex.Match(text, "^verificar (.+)$", RegexOptions.IgnoreCase); string nick = match.Groups[1].Value; List <Account> accounts = Telegram.data.GetAccountList(user); Telegram.SendTypingStatus(); if (accounts.Count > 0) { bool found = false; string acc = ""; bool verifyed = false; int Token = 0; foreach (Account account in accounts) { if (account.getNick().ToLower().Equals(nick.ToLower())) { found = true; acc = account.getNick(); verifyed = account.getVerify(); Token = account.getToken(); break; } } if (!found) { Telegram.SendHtmlMessage(vars.emjerror + " Conta nao encontrada!"); return; } if (verifyed) { Telegram.SendHtmlMessage(vars.emjerror + " A conta já estava verificada!"); return; } if ((found) && (!verifyed)) { if (Telegram.SendPrivateMessage(user, vars.emjok + " Para verificar sua conta " + nick + ", envie um tell <b>dela</b>%0AAssim: <code>/tell htbot verificar " + Token + "</code>", "Verificação de conta", true)) { Telegram.SendHtmlMessage(vars.emjok + " Te enviei uma mensagem privada.%0AVerifique-a para confirmar a posse da sua conta!"); } } } else { Telegram.SendHtmlMessage(vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } if (Regex.IsMatch(text, "^tell ([A-z0-9_-]{1,16}) (.+)$", RegexOptions.IgnoreCase)) { Match tell = Regex.Match(text, "^tell ([A-z0-9_-]{1,16}) (.+)$", RegexOptions.IgnoreCase); string nick = tell.Groups[1].Value; string msg = tell.Groups[2].Value; List <Account> accounts = Telegram.data.GetAccountList(user); Telegram.SendTypingStatus(); if (accounts.Count > 0) { bool found = false; bool verifyed = false; int Token = 0; bool isOnline = false; foreach (var player in Program.Client.GetOnlinePlayers()) { if (player.ToLower().Equals(nick)) { isOnline = true; } } foreach (Account account in accounts) { if (account.getNick().ToLower().Equals(nick.ToLower())) { found = true; verifyed = account.getVerify(); Token = account.getToken(); break; } } if (!found) { Telegram.SendHtmlMessage(vars.emjerror + " Conta nao encontrada!"); return; } if (!verifyed) { Telegram.SendHtmlMessage(vars.emjerror + "Desculpe, Você não tem permissão pra isso!%0AEssa conta é sua? " + vars.emjthinking); return; } if (!isOnline) { Telegram.SendHtmlMessage(vars.emjerror + " Conta Offline!"); return; } Program.Client.SendText("/tell " + nick + " 0 " + Token + " " + msg); Telegram.data.ResponseLimit(Token, true); Telegram.SendHtmlMessage(vars.emjok + " Mensagem enviada!"); } else { Telegram.SendHtmlMessage(vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } if (text.ToLower().Equals("wm")) { vars.sendWM = true; Program.Client.SendText("/wm"); } } else { } } else { if (Regex.IsMatch(text, "^tell ([A-z0-9_-]{1,16}) (.+)$", RegexOptions.IgnoreCase)) { Match tell = Regex.Match(text, "^tell ([A-z0-9_-]{1,16}) (.+)$", RegexOptions.IgnoreCase); string nick = tell.Groups[1].Value; string msg = tell.Groups[2].Value; List <Account> accounts = Telegram.data.GetAccountList(user); Telegram.SendTypingStatus(user.ToString()); if (accounts.Count > 0) { bool found = false; bool verifyed = false; int Token = 0; bool isOnline = false; foreach (var player in Program.Client.GetOnlinePlayers()) { if (player.ToLower().Equals(nick)) { isOnline = true; } } foreach (Account account in accounts) { if (account.getNick().ToLower().Equals(nick.ToLower())) { found = true; verifyed = account.getVerify(); Token = account.getToken(); break; } } if (!found) { Telegram.SendPrivateMessage(user, vars.emjerror + " Conta nao encontrada!"); return; } if (!verifyed) { Telegram.SendPrivateMessage(user, vars.emjerror + "Desculpe, Você não tem permissão pra isso!%0AEssa conta é sua? " + vars.emjthinking); return; } if (!isOnline) { Telegram.SendPrivateMessage(user, vars.emjerror + " Conta Offline!"); return; } Program.Client.SendText("/tell " + nick + " 1 " + Token + " " + msg); Telegram.data.ResponseLimit(Token, true); Telegram.SendPrivateMessage(user, vars.emjok + " Mensagem enviada!"); } else { Telegram.SendPrivateMessage(user, vars.emjerror + " Antes de usar esse comando %0AUse /add <code>nick</code> para adicionar suas contas!"); } } else if (text.ToLower().Equals("start")) { Telegram.SendPrivateMessage(user, vars.emjok + " Olá, se você veio aqui pela verificação de conta%0APode voltar ao grupo e concluir a verificação%0AVocê tbm pode me mandar o comando <b>/tell <nick> <mensagem></b> por aqui"); } else { Telegram.SendPrivateMessage(user, vars.emjerror + " Por favor, use o bot no grupo!"); } } }