Beispiel #1
0
 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)");
     }
 }
Beispiel #2
0
 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)");
     }
 }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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));
        }
Beispiel #6
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);
        }
Beispiel #7
0
        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)
            {
            }
        }
Beispiel #8
0
        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));
        }
Beispiel #9
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();
        }
Beispiel #10
0
        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());
            }
        }
Beispiel #11
0
        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());
                }
            }
        }
Beispiel #12
0
 internal virtual void PriPouziti(SixBot bot, string odesilatel)
 {
 }
Beispiel #13
0
 internal virtual void PriPouziti(SixBot bot, string odesilatel, string[] argumenty)
 {
 }
Beispiel #14
0
        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");
        }
Beispiel #15
0
 internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty)
 {
     bot.ChatZprava(string.Join(HandlerPrikazu.Oddelovac[0], argumenty));
 }
Beispiel #16
0
        internal Repeat(SixBot bot)
        {
            m_Bot = bot;

            m_Sdeleni = new List <Sdeleni>();
        }
Beispiel #17
0
        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());
        }
Beispiel #18
0
 internal override void PriPouziti(SixBot bot, string odesilatel, string[] argumenty)
 {
     bot.PrivateZprava(odesilatel, "omg");
 }
Beispiel #19
0
        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;
        }
Beispiel #20
0
 internal override void PriPouziti(SixBot bot, string odesilatel)
 {
     bot.ChatZprava("OoOoOoOo ooOoOooO");
 }