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; } } } } }
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; } } }
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); } }
public override void checkMessageForAlgos(clsChatMessage message) { }
public abstract void checkMessageForAlgos(clsChatMessage message);
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(">", ">"); 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; } } } } }