Example #1
0
        public override void checkMessageForAlgos(clsChatMessage message)
        {
            if (message.message.ToLower().Contains(Config.Plugin_Knuddelz_Trigger.ToLower()))
            {
                if (checkIfArgsContainsAllAgrument(message.message.ToLower().Split(" "[0])))
                {
                    //knuddelz geht an alle
                    int anzahlknuddelz = System.Text.RegularExpressions.Regex.Matches(message.message.ToLower(), Config.Plugin_Knuddelz_Trigger.ToLower()).Count;

                    List <string> userlist = userlistwrapper.getUsernameList();

                    foreach (string username in userlist)
                    {
                        string usernametolower = username.ToLower();
                        if (!this.knuddelzlist.ContainsKey(usernametolower))
                        {
                            clsKnuddelz knuddelz = new clsKnuddelz();
                            knuddelz.Anzahl     = 0;
                            knuddelz.ZuletztVon = "";
                            this.knuddelzlist.Add(usernametolower, knuddelz);
                        }
                        this.knuddelzlist[usernametolower].Anzahl     = this.knuddelzlist[usernametolower].Anzahl + anzahlknuddelz;
                        this.knuddelzlist[usernametolower].ZuletztVon = message.username;
                    }
                }
                else
                {
                    //knuddelz geht an jemand bestimmtes
                    List <string> usernamesfound = new List <string>();
                    foreach (string arg in message.message.Split(" "[0]))
                    {
                        if (userlistwrapper.checkUsernameInChatlist(arg))
                        {
                            usernamesfound.Add(arg);
                        }
                    }

                    if (usernamesfound.Count >= 1)
                    {
                        int anzahlknuddelz = System.Text.RegularExpressions.Regex.Matches(message.message.ToLower(), Config.Plugin_Knuddelz_Trigger.ToLower()).Count;
                        foreach (string username in usernamesfound)
                        {
                            string usernametolower = username.ToLower();
                            if (!this.knuddelzlist.ContainsKey(usernametolower))
                            {
                                clsKnuddelz knuddelz = new clsKnuddelz();
                                knuddelz.Anzahl     = 0;
                                knuddelz.ZuletztVon = "";
                                this.knuddelzlist.Add(usernametolower, knuddelz);
                            }
                            this.knuddelzlist[usernametolower].Anzahl     = this.knuddelzlist[usernametolower].Anzahl + anzahlknuddelz;
                            this.knuddelzlist[usernametolower].ZuletztVon = message.username;
                        }
                    }
                }
            }
        }
Example #2
0
        public override void checkMessageForAlgos(clsChatMessage message)
        {
            string[] metttrigger    = Config.Plugin_Mett_Trigger.Split(';');
            int      mettgetriggert = 0;

            foreach (string trigger in metttrigger)
            {
                mettgetriggert = mettgetriggert + System.Text.RegularExpressions.Regex.Matches(message.message.ToLower(), trigger).Count;
            }
            if (mettgetriggert >= 1)
            {
                for (int i = 0; i < mettgetriggert; i++)
                {
                    Random rdm       = new Random(Guid.NewGuid().GetHashCode());
                    int    mettcount = rdm.Next(2, 6);
                    userlistwrapper.setMettlevelerhöhung(message.username, mettcount);
                }
            }
            else
            {
                int level = userlistwrapper.getMettlevel(message.username);

                if (level >= 90)
                {
                    Random rdm       = new Random(Guid.NewGuid().GetHashCode());
                    int    mettcount = rdm.Next(-9, -5);
                    userlistwrapper.setMettlevelerhöhung(message.username, mettcount);
                }
                else if (level >= 80)
                {
                    Random rdm       = new Random(Guid.NewGuid().GetHashCode());
                    int    mettcount = rdm.Next(-7, -2);
                    userlistwrapper.setMettlevelerhöhung(message.username, mettcount);
                }
                else if (level >= 50 && message.message.Contains("/"[0]))
                {
                    Random rdm       = new Random(Guid.NewGuid().GetHashCode());
                    int    mettcount = rdm.Next(-6, -1);
                    userlistwrapper.setMettlevelerhöhung(message.username, mettcount);
                }
                else if (level >= 50)
                {
                    Random rdm       = new Random(Guid.NewGuid().GetHashCode());
                    int    mettcount = rdm.Next(-5, -2);
                    userlistwrapper.setMettlevelerhöhung(message.username, mettcount);
                }
                else if (level >= 30)
                {
                    userlistwrapper.setMettlevelerhöhung(message.username, -2);
                }
                else
                {
                    userlistwrapper.setMettlevelerhöhung(message.username, -1);
                }
            }
        }
 public override void checkMessageForAlgos(clsChatMessage message)
 {
     if (message.username.ToLower() != Config.Bot_Username.ToLower())
     {
         if (message.message.ToLower().Contains(Config.Plugin_Roulette_Register_Command.ToLower()) && this.isPlayerRegisterRunning && !checkIfUsernameIsPlaying(message.username))
         {
             this.gamerInGame.Add(message.username);
             this.SendChatMessage(Config.Plugin_Roulette_YoureIn_Message.Replace("[username]", message.username));
         }
         else if (message.message.ToLower().Contains("klick") && this.isGameRunning && message.username.ToLower() == this.gamerInGame[this.activePlayerIndex].ToLower())
         {
             this.player_shoot(message.username);
         }
     }
 }
 public override void checkMessageForAlgos(clsChatMessage message)
 {
     string[] trigger = (Config.Plugin_Saufen_Emotes.Replace("/", "") + ";" + Config.Plugin_Promille_TriggerWords).ToLower().Split(";"[0]);
     foreach (string triggerword in trigger)
     {
         if (message.message.ToLower().Contains(triggerword))
         {
             string username = message.username.ToLower();
             if (!this.Promilleliste.ContainsKey(username))
             {
                 this.Promilleliste.Add(username, new clsPromillegehalt());
             }
             this.Promilleliste[username].setPromillegehaltErhöhung();
             break;
         }
     }
 }
Example #5
0
        private void Timer_Tick(object sender, EventArgs e)
        {
            try
            {
                HtmlElement element = browser.Document.GetElementById(Config.ElementID_Messagebuffer);
                if (element != null)
                {
                    if (element.Children.Count >= (currentIndex + 1))
                    {
                        List <clsChatMessage> newmessages = new List <clsChatMessage>();

                        for (int i = currentIndex; i < element.Children.Count; i++)
                        {
                            clsChatMessage newmessage = GetChatMessageFromChatbox(element.Children[i]);
                            if (newmessage != null)
                            {
                                newmessages.Add(newmessage);
                            }
                            currentIndex = i;
                        }

                        foreach (clsChatMessage msg in newmessages)
                        {
                            string md5 = msg.GetMD5HashCode();
                            if (!this.messages.ContainsKey(md5))
                            {
                                this.messages.Add(md5, msg);
                                ChatMessageReceivedEvent(msg);
                            }
                        }
                    }
                    else
                    {
                        currentIndex = 0;
                    }
                }
            }
            catch (Exception x)
            {
                SendConsoleMessageEvent("Exception in Timer_Tick von ChatWrapper: " + Environment.NewLine + x.Message + Environment.NewLine + x.StackTrace);
            }
        }
Example #6
0
 public override void checkMessageForAlgos(clsChatMessage message)
 {
 }
Example #7
0
 public abstract void checkMessageForAlgos(clsChatMessage message);
Example #8
0
        private clsChatMessage GetChatMessageFromChatbox(HtmlElement divElement)
        {
            //List<clsChatMessage> messages = new List<clsChatMessage>();
            clsChatMessage result = null;

            //alle div durchgehen
            //HtmlElement divElement = chatbox.Children[chatbox.Children.Count - 1];
            if (divElement.TagName.ToLower() == "div")
            {
                clsChatMessage ChatMsg = new clsChatMessage();
                ChatMsg.rawHtml = divElement.InnerHtml;
                if (divElement.Children.Count == 0)
                {
                    //system-message wie eine poll-Ansage oderso
                    ChatMsg.username  = "******";
                    ChatMsg.message   = divElement.InnerText;
                    ChatMsg.timestamp = DateTime.Now;
                }
                else
                {
                    //chat-message, username aus klasse rausfiltern
                    string divClass = divElement.GetAttribute("classname");

                    if (divClass.ToLower().Contains(Config.ChatWrapper_ChatMessage_Contains_ClassName.ToLower()))
                    {
                        if (string.IsNullOrEmpty(ChatMsg.username))
                        {
                            string username = divClass.Replace(Config.ChatWrapper_ChatMessage_Contains_ClassName, "");
                            ChatMsg.username = username;
                        }

                        //alle spans durchgehen
                        foreach (HtmlElement span in divElement.Children)
                        {
                            string spanClass = span.GetAttribute("classname");
                            if (spanClass.ToLower() == Config.ChatWrapper_ChatMessage_Timestamp_ClassName.ToLower())
                            {
                                string timestamp = span.InnerText;
                                timestamp         = timestamp.Replace("[", "");
                                timestamp         = timestamp.Replace("]", "");
                                ChatMsg.timestamp = DateTime.Parse(timestamp);
                            }
                            else
                            {
                                string test = span.GetAttribute("style");
                                //strong elemente überprüfen
                                if (span.Children.Count >= 1)
                                {
                                    if (span.Children[0].TagName.ToLower() == "strong")
                                    {
                                        //auf username prüfen
                                        string usernameClass = span.Children[0].GetAttribute("classname");
                                        if (usernameClass.ToLower() == Config.ChatWrapper_ChatMessage_Username_ClassName.ToLower())
                                        {
                                            string username = span.Children[0].InnerText;
                                            username         = username.Replace(":", "");
                                            username         = username.Replace(" ", "");
                                            ChatMsg.username = username;
                                        }
                                    }
                                    //else if ()
                                    //{
                                    //    //farbe raus killen
                                    //    MessageBox.Show("color detected");
                                    //}
                                    else
                                    {
                                        string messagetext = checkHtmlElement(span, span.InnerHtml);


                                        //Der veränderte Text steht direkt im Span
                                        ChatMsg.message = messagetext;
                                    }
                                }
                                else
                                {
                                    //Der Text steht direkt im Span
                                    ChatMsg.message = span.InnerHtml;
                                }
                            }
                        }
                    }
                }
                if (string.IsNullOrEmpty(ChatMsg.message))
                {
                    ChatMsg.message = "UNKNOWN MESSAGE, HTML: " + ChatMsg.rawHtml;
                }
                ChatMsg.message = ChatMsg.message.Replace("&gt;", ">");
                result          = ChatMsg;
            }

            return(result);
        }
        public override void checkMessageForAlgos(clsChatMessage message)
        {
            if (message.username.ToLower() == Config.Bot_Username.ToLower())
            {
                return;
            }
            bool triggerfound = false;

            foreach (string trigger in Config.Plugin_Lecken_Trigger.ToLower().Split(";"[0]))
            {
                if (message.message.ToLower().Contains(trigger))
                {
                    triggerfound = true;
                    break;
                }
            }
            if (triggerfound)
            {
                if (checkIfArgsContainsAllAgrument(message.message.ToLower().Split(" "[0])))
                {
                    //leckz geht an alle
                    List <string> userlist = userlistwrapper.getUsernameList();

                    foreach (string username in userlist)
                    {
                        string usernametolower = username.ToLower();
                        if (!this.lecklist.ContainsKey(usernametolower))
                        {
                            clsLeckz leckz = new clsLeckz();
                            leckz.Anzahl     = 0;
                            leckz.ZuletztVon = "";
                            this.lecklist.Add(usernametolower, leckz);
                        }
                        this.lecklist[usernametolower].Anzahl     = this.lecklist[usernametolower].Anzahl + 1;
                        this.lecklist[usernametolower].ZuletztVon = message.username;
                    }
                }
                else
                {
                    //leckz geht an jemand bestimmtes
                    List <string> usernamesfound = new List <string>();
                    List <string> argslist       = message.message.Split(" "[0]).ToList();
                    if (argslist.Count >= 1)
                    {
                        argslist.RemoveAt(0);
                    }
                    foreach (string arg in argslist)
                    {
                        if (userlistwrapper.checkUsernameInChatlist(arg))
                        {
                            usernamesfound.Add(arg);
                        }
                    }

                    if (usernamesfound.Count >= 1)
                    {
                        int anzahlleckz = 1;
                        foreach (string username in usernamesfound)
                        {
                            string usernametolower = username.ToLower();
                            if (!this.lecklist.ContainsKey(usernametolower))
                            {
                                clsLeckz leckz = new clsLeckz();
                                leckz.Anzahl     = 0;
                                leckz.ZuletztVon = "";
                                this.lecklist.Add(usernametolower, leckz);
                            }
                            this.lecklist[usernametolower].Anzahl     = this.lecklist[usernametolower].Anzahl + anzahlleckz;
                            this.lecklist[usernametolower].ZuletztVon = message.username;
                        }
                    }
                }
            }
        }