From 72c2ff5ef0af4c98100b7dcd4fe784bfdc925a3c Mon Sep 17 00:00:00 2001 From: ORelio Date: Thu, 26 Feb 2015 12:45:24 +0100 Subject: [PATCH] Handle HeroChat chat messages Fix #63 and rewrite PMsend Suggestion and PMsend v1 by JamieSinn --- MinecraftClient/ChatBot.cs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/MinecraftClient/ChatBot.cs b/MinecraftClient/ChatBot.cs index 9e1c60d0..d591c419 100644 --- a/MinecraftClient/ChatBot.cs +++ b/MinecraftClient/ChatBot.cs @@ -203,14 +203,24 @@ namespace MinecraftClient if (sender[0] == '~') { sender = sender.Substring(1); } return isValidName(sender); } - + //Detect HeroChat PMsend //From Someone: message - - else if (text.StartsWith("From")) + else if (text.StartsWith("From ")) { - sender = tmp[1].ToString().Remove(tmp[1].ToString().Length-1); - message = text.Substring(tmp[0].Length+ 1 + tmp[1].Length + 1); + sender = text.Substring(5).Split(':')[0]; + message = text.Substring(text.IndexOf(':') + 2); + return isValidName(sender); + } + + //Detect HeroChat Messages + //[Channel] [Rank] User: Message + else if (text.StartsWith("[") && text.Contains(':') && tmp.Length > 2) + { + int name_end = text.IndexOf(':'); + int name_start = text.Substring(0, name_end).LastIndexOf(']') + 2; + sender = text.Substring(name_start, name_end - name_start); + message = text.Substring(name_end + 2); return isValidName(sender); }