internal override void PriPouziti(SixBot bot, string odesilatel) { if (DotaRoster.OdeberHrace(odesilatel)) { bot.PrivateZprava(odesilatel, "Byl jsi odebrán z Dota Rosteru (pro pøidání -addme)"); } }
internal override void PriPouziti(SixBot bot, string odesilatel) { if (DotaRoster.PridejHrace(odesilatel)) { bot.PrivateZprava(odesilatel, "Byl jsi pøidán do Dota Rosteru (pro zobrazení -dotaroster, pro odebrání -removeme, pro spam na dotu -spamdota)"); } }
internal override void PriPouziti(SixBot bot, string odesilatel) { StringBuilder sb = new StringBuilder(m_VypisAutobusu + 3); sb.AppendLine(); lock (m_Autobusy) { for (int i = 0; i < m_Autobusy.Count; i++) { if (m_Autobusy[i].Odjezd > DateTime.Now) { for (int j = 0; j < m_VypisAutobusu; j++) { sb.AppendLine(m_Autobusy[i + j].ToString()); } break; } } sb.AppendLine(); sb.AppendLine("Počet spojů v databázi: " + m_Autobusy.Count); } bot.PrivateZprava(odesilatel, sb.ToString()); }
internal override void PriPouziti(SixBot bot, string odesilatel) { StringBuilder sb = new StringBuilder(HandlerPrikazu.Prikazy.Count + 1); sb.AppendLine("Seznam dostupných pøíkazù:"); string alias; foreach (KeyValuePair <string, BasePrikaz> polozka in HandlerPrikazu.Prikazy) { alias = polozka.Value.ZiskejAlias(); if (alias != null) { if (alias != polozka.Key) { sb.AppendLine(string.Format("{0}{1}, {2}{3} = {4}", HandlerPrikazu.PrikazPrefix, polozka.Key, HandlerPrikazu.PrikazPrefix, alias, polozka.Value.ZiskejHelp())); } else { continue; } } else { sb.AppendLine(string.Format("{0}{1} = {2}", HandlerPrikazu.PrikazPrefix, polozka.Key, polozka.Value.ZiskejHelp())); } } bot.PrivateZprava(odesilatel, sb.ToString()); }
internal Bus(SixBot bot) { m_Bot = bot; foreach (Linka linka in m_Linky) { NactiJizdniRadLinky(linka, DateTime.Now); } m_Aktualizace = new Timer(ProvedAktualizace, null, TimeSpan.FromSeconds(15.0), TimeSpan.FromHours(3.0)); }
internal DotaOnline(SixBot bot) { m_Bot = bot; m_Client = new Client(); //m_Client.OnlineUdalost += new ClientUdalostCallback(m_Client_OnlineUdalost); m_Client.OfflineUdalost += new ClientUdalostCallback(m_Client_OfflineUdalost); m_Client.VstupDoChatuUdalost += new ClientUdalostCallback(m_Client_VstupDoChatuUdalost); m_Client.ChybaUdalost += new ChybaUdalostCallback(m_Client_ChybaUdalost); m_Client.NavazSpojeni(m_IP); }
internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty) { try { SearchResults vysledky = Searcher.Search(SearchType.Web, string.Join(" ", argumenty)); if (vysledky != null && vysledky.Items != null && vysledky.Items.Length > 0) { bot.ChatZprava(string.Format(@"{0} *** {1} *** {2} *** Dotaz položil: {3}", vysledky.Items[0].Title, vysledky.Items[0].Content, vysledky.Items[0].Url, odesilatel).Replace("<b>", "").Replace("</b>", "")); } } catch (WebException) { } }
internal FindCs(SixBot bot) { m_Bot = bot; m_CsServery = new List <IPAddress>(); NactiCsServery(); m_Hlaska = new StringBuilder(2); m_AsCallback = new AsyncCallback(ReceiveCallback); m_TimerekCallback = new TimerCallback(PriUplynutiDoby); m_MereniCasu = new Stopwatch(); m_Stopka = new AutoResetEvent(false); m_Ulozit = false; m_Aktualizace = new Timer(m_Aktualizace_Tick, null, TimeSpan.FromSeconds(5.0), TimeSpan.FromHours(12.0)); }
internal static void Inicialiazce(SixBot bot) { m_Prikazy.Add("echo", new EchoPrikaz()); m_Prikazy.Add("dotaroster", new DotaRoster()); m_Prikazy.Add("addme", new AddMe()); m_Prikazy.Add("removeme", new RemoveMe()); m_Prikazy.Add("spamdota", new SpamDota()); m_Prikazy.Add("help", new Help()); m_Prikazy.Add("google", new Google()); m_Prikazy.Add("findcs", new FindCs(bot)); m_Prikazy.Add("say", new Say()); m_Prikazy.Add("about", new AboutPrikaz()); m_Prikazy.Add("dotaonline", new DotaOnline(bot)); m_Prikazy.Add("bus", new Bus(bot)); //tohle vždy na konec PridejAliasy(); }
internal override void PriPouziti(SixBot bot, string odesilatel) { lock (Hraci) { if (m_Hraci.Count == 0) { return; } StringBuilder sb = new StringBuilder(m_Hraci.Count + 1); sb.AppendLine("Hráèi Doty, kteøí obdrží PMka pøi napsání -dotaspam. Pro pøidání -addme, pro odebrání -removeme"); foreach (string hrac in m_Hraci) { sb.AppendLine(hrac); } bot.PrivateZprava(odesilatel, sb.ToString()); } }
internal override void PriPouziti(SixBot bot, string odesilatel) { lock (CsServery) { if (m_CsServery.Count == 0) { return; } m_MereniCasu.Reset(); m_MereniCasu.Start(); m_OtestovanoIP = 0; if (m_Hlaska.Length != 0) { m_Hlaska.Remove(0, m_Hlaska.Length); } foreach (IPAddress ip in m_CsServery) { foreach (StatProtocol protokol in StatProtocol.Protokoly) { UdpClient client = new UdpClient(); UdpObjekt obj = new UdpObjekt(client, ip, odesilatel, protokol); client.Connect(ip, protokol.Port); client.Send(protokol.Dotaz, protokol.Dotaz.Length); try { client.BeginReceive(m_AsCallback, obj); obj.Timerek = new Timer(m_TimerekCallback, obj, 100, Timeout.Infinite); } catch (SocketException /*ex*/) { // Stávající pøipojení bylo vynucenì ukonèeno vzdáleným hostitelem // m_Bot.Gui.VypisRadek("CATCH: " + ex.ToString()); ZkontrolujStopku(); client.Close(); continue; } } } m_Stopka.WaitOne(); m_MereniCasu.Stop(); if (m_Hlaska.Length > 0) { m_Hlaska.AppendLine(string.Format("Doba testu: {0} ms Otestováno: {1} IP adres Odesilatel: {2} (pohodlnìjší verze http://www.findcs.wz.cz/ )", (Math.Round((1000.0 * 1000.0 * 1000.0 * m_MereniCasu.ElapsedTicks / Stopwatch.Frequency) / 1000000.0, 3)).ToString(), (m_OtestovanoIP / StatProtocol.Protokoly.Length).ToString(), odesilatel)); m_Bot.ChatZprava(m_Hlaska.ToString()); } else { m_Hlaska.AppendLine(string.Format("Pøikaz -findcs nenašel žádný bìžící server Odesilatel: {0} (pohodlnìjší verze http://www.findcs.wz.cz/ )", odesilatel)); m_Hlaska.AppendLine(string.Format("Doba testu: {0} ms Otestováno: {1} IP adres", (Math.Round((1000.0 * 1000.0 * 1000.0 * m_MereniCasu.ElapsedTicks / Stopwatch.Frequency) / 1000000.0, 3)), (m_OtestovanoIP / StatProtocol.Protokoly.Length).ToString())); m_Bot.ChatZprava(m_Hlaska.ToString()); } } }
internal virtual void PriPouziti(SixBot bot, string odesilatel) { }
internal virtual void PriPouziti(SixBot bot, string odesilatel, string[] argumenty) { }
internal override void PriPouziti(SixBot bot, string odesilatel) { TimeSpan t = DateTime.Now - m_Start; bot.PrivateZprava(odesilatel, "Informace o programu:\nVerze: " + Program.Verze.ToString() + "\nWeb projektu: http://sixbot.googlecode.com" + string.Format("\nUptime: {0} dnù {1} hodin", t.Days, t.Hours) + "\n\nVyužívá projekty:\n" + "FlowLib: http://code.google.com/p/flowlib\n" + "Gapi.NET: http://www.codeplex.com/GAPIdotNET"); }
internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty) { bot.ChatZprava(string.Join(HandlerPrikazu.Oddelovac[0], argumenty)); }
internal Repeat(SixBot bot) { m_Bot = bot; m_Sdeleni = new List <Sdeleni>(); }
internal override void PriPouziti(SixBot bot, string odesilatel) { if (SpamDota.Rozesila) { bot.PrivateZprava(odesilatel, "Právě se rozesílá Spam dota, chvilku strpení..."); } StringBuilder sb = new StringBuilder(DotaRoster.Hraci.Count / 2); ushort pocet = 0; lock (DotaRoster.Hraci) { if (DotaRoster.Hraci.Count == 0) { bot.PrivateZprava(odesilatel, "Dotaroster obsahuje příliš málo hráčů"); return; } sb.AppendLine("Hráči:"); foreach (string hrac in DotaRoster.Hraci) { if (bot.Hub.Userlist.ContainsKey(hrac)) { pocet++; sb.AppendLine(hrac); } } } sb.AppendLine(); sb.AppendLine("Online: " + pocet); sb.AppendLine(); m_Client.Hry.ZamkniList(); BnetInfo[] hry = m_Client.Hry.ZiskejHry(); if (hry != null) { sb.AppendLine("Čekající hry:"); foreach (BnetInfo hra in hry) { sb.AppendLine(hra.ToString()); } sb.AppendLine(); } m_Client.Hry.OdemkniList(); string cekajiciHry = m_Client.CekajiciHry.ZiskejHry(); if (cekajiciHry != null) { sb.AppendLine("Probíhající hry:"); sb.AppendLine(cekajiciHry); } bot.PrivateZprava(odesilatel, sb.ToString()); }
internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty) { bot.PrivateZprava(odesilatel, "omg"); }
internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty) { if (m_Rozesila) { bot.PrivateZprava(odesilatel, "Dota spam se již rozesílá nìkým jiným!"); return; } m_Rozesila = true; List <string> list; lock (DotaRoster.Hraci) { if (DotaRoster.Hraci.Count < 2) { bot.PrivateZprava(odesilatel, "Dotaroster obsahuje pøíliš málo hráèù"); m_Rozesila = false; return; } else if (!DotaRoster.Hraci.Contains(odesilatel)) { bot.PrivateZprava(odesilatel, "Pouze hráèi kteøí jsou v dotarosteru mùžou používat tento pøíkaz. Pro pøidání napiš -addme"); m_Rozesila = false; return; } list = new List <string>(DotaRoster.Hraci.Count); foreach (string hrac in DotaRoster.Hraci) { list.Add(hrac); } } bot.PrivateZprava(odesilatel, "Rozesílám..."); ushort online = 0; foreach (string hrac in list) { if (hrac != odesilatel && bot.Hub.Userlist.ContainsKey(hrac)) { switch (m_Nahoda.Next(3)) { case 0: { if (argumenty == null) { bot.PrivateZprava(hrac, string.Format("= DotA zalaložena come on! Odesilatel: {0} =", odesilatel)); } else { bot.PrivateZprava(hrac, string.Format("= DotA zalaložena come on! Název hry: {0} Odesilatel: {1} =", string.Join(" ", argumenty), odesilatel)); } break; } case 1: { if (argumenty == null) { bot.PrivateZprava(hrac, string.Format("= Byla založena DotA! Odesilatel: {0} =", odesilatel)); } else { bot.PrivateZprava(hrac, string.Format("= Byla založena DotA! Název hry: {0} Odesilatel: {1} =", string.Join(" ", argumenty), odesilatel)); } break; } case 2: { if (argumenty == null) { bot.PrivateZprava(hrac, string.Format("= Založena DotA! Odesilatel: {0} =", odesilatel)); } else { bot.PrivateZprava(hrac, string.Format("= Založena DotA! Název hry: {0} Odesilatel: {1} =", string.Join(" ", argumenty), odesilatel)); } break; } } online++; Thread.Sleep(4000); } } bot.PrivateZprava(odesilatel, string.Format("Pozvánka na Dotu odeslána {0} online hráèùm", online)); online++; //i s tím co odesílá switch (m_Nahoda.Next(3)) { case 0: { if (argumenty == null) { bot.ChatZprava(string.Format("= DotA zalaložena come on! Odesilatel: {0} Online: {1} =", odesilatel, online)); } else { bot.ChatZprava(string.Format("= DotA zalaložena come on! Název hry: {0} Odesilatel: {1} Online: {2} =", string.Join(" ", argumenty), odesilatel, online)); } break; } case 1: { if (argumenty == null) { bot.ChatZprava(string.Format("= Byla založena DotA! Odesilatel: {0} Online: {1} =", odesilatel, online)); } else { bot.ChatZprava(string.Format("= Byla založena DotA! Název hry: {0} Odesilatel: {1} Online: {2} =", string.Join(" ", argumenty), odesilatel, online)); } break; } case 2: { if (argumenty == null) { bot.ChatZprava(string.Format("= Založena DotA! Odesilatel: {0} Online: {1} =", odesilatel, online)); } else { bot.ChatZprava(string.Format("= Založena DotA! Název hry: {0} Odesilatel: {1} Online: {2} =", string.Join(" ", argumenty), odesilatel, online)); } break; } } m_Rozesila = false; }
internal override void PriPouziti(SixBot bot, string odesilatel) { bot.ChatZprava("OoOoOoOo ooOoOooO"); }