diff --git a/MinecraftClient/ChatBot.cs b/MinecraftClient/ChatBot.cs index 1b940af9..c5eedef8 100644 --- a/MinecraftClient/ChatBot.cs +++ b/MinecraftClient/ChatBot.cs @@ -182,16 +182,28 @@ namespace MinecraftClient //Detect Essentials (Bukkit) /m messages //[Someone -> me] message - //[Someone [rank] -> me] message - else if (text[0] == '[' && tmp.Length > 3 && (tmp[1] == "->" || tmp[2] == "->") - && ((tmp[2] == "me]" || tmp[2] == "moi]") - || (tmp[3] == "me]" || tmp[3] == "moi]"))) //'me' is replaced by 'moi' in french servers + //[~Someone -> me] message + else if (text[0] == '[' && tmp.Length > 3 && tmp[1] == "->" + && (tmp[2] == "me]" || tmp[2] == "moi]")) //'me' is replaced by 'moi' in french servers { message = text.Substring(tmp[0].Length + 4 + tmp[2].Length + 1); sender = tmp[0].Substring(1); if (sender[0] == '~') { sender = sender.Substring(1); } return isValidName(sender); } + + //Detect Essentials (Bukkit) /me messages with some custom rank + //[Someone [rank] -> me] message + //[~Someone [rank] -> me] message + else if (text[0] == '[' && tmp.Length > 3 && tmp[2] == "->" + && (tmp[3] == "me]" || tmp[3] == "moi]")) //'me' is replaced by 'moi' in french servers + { + message = text.Substring(tmp[0].Length + 1 + tmp[1].Length + 4 + tmp[2].Length + 1); + sender = tmp[0].Substring(1); + if (sender[0] == '~') { sender = sender.Substring(1); } + return isValidName(sender); + } + else return false; } catch (IndexOutOfRangeException) { return false; }