Catch IndexOutOfRangeException for IsChatMessage

This commit is contained in:
ORelio 2015-10-26 23:19:06 +01:00
parent 29a9fe810a
commit e5364566c3

View file

@ -307,13 +307,15 @@ namespace MinecraftClient
if (sender[0] == '~') { sender = sender.Substring(1); } if (sender[0] == '~') { sender = sender.Substring(1); }
return IsValidName(sender); return IsValidName(sender);
} }
catch (IndexOutOfRangeException) { return false; } catch (IndexOutOfRangeException) { /* Not a vanilla/faction message */ }
} }
//Detect HeroChat Messages //Detect HeroChat Messages
//Public chat messages //Public chat messages
//[Channel] [Rank] User: Message //[Channel] [Rank] User: Message
else if (text[0] == '[' && text.Contains(':') && tmp.Length > 2) else if (text[0] == '[' && text.Contains(':') && tmp.Length > 2)
{
try
{ {
int name_end = text.IndexOf(':'); int name_end = text.IndexOf(':');
int name_start = text.Substring(0, name_end).LastIndexOf(']') + 2; int name_start = text.Substring(0, name_end).LastIndexOf(']') + 2;
@ -321,6 +323,8 @@ namespace MinecraftClient
message = text.Substring(name_end + 2); message = text.Substring(name_end + 2);
return IsValidName(sender); return IsValidName(sender);
} }
catch (IndexOutOfRangeException) { /* Not a herochat message */ }
}
//Detect (Unknown Plugin) Messages //Detect (Unknown Plugin) Messages
//**Faction<Rank> User : Message //**Faction<Rank> User : Message
@ -333,6 +337,8 @@ namespace MinecraftClient
&& text.IndexOf('<') < text.IndexOf('>') && text.IndexOf('<') < text.IndexOf('>')
&& text.IndexOf('>') < text.IndexOf(' ') && text.IndexOf('>') < text.IndexOf(' ')
&& text.IndexOf(' ') < text.IndexOf(':')) && text.IndexOf(' ') < text.IndexOf(':'))
{
try
{ {
string prefix = tmp[0]; string prefix = tmp[0];
string user = tmp[1]; string user = tmp[1];
@ -344,6 +350,8 @@ namespace MinecraftClient
return IsValidName(user); return IsValidName(user);
} }
} }
catch (IndexOutOfRangeException) { /* Not a <unknown plugin> message */ }
}
} }
//User-defined regex for public chat messages //User-defined regex for public chat messages