private bool ProcessMessagePacket()
{
BytesReceived += 66;
ResetIdleTimer();
reader.ReadByte();
string message = ReadString();
if ( !IsSuper && message.StartsWith( "/womid " ) ) {
IsUsingWoM = true;
return true;
}
if ( Chat.ContainsInvalidChars( message ) ) {
Logger.Log( LogType.SuspiciousActivity,
"Player.ParseMessage: {0} attempted to write illegal characters in chat and was kicked.",
Name );
Server.Message( "{0}&W was kicked for sending invalid chat.", ClassyName );
KickNow( "Illegal characters in chat.", LeaveReason.InvalidMessageKick );
return false;
}
#if DEBUG
ParseMessage( message, false );
#else
try {
ParseMessage( message, false );
} catch ( IOException ) {
throw;
} catch ( SocketException ) {
throw;
} catch ( Exception ex ) {
Logger.LogAndReportCrash( "Error while parsing player's message", "800Craft", ex, false );
MessageNow( "&WError while handling your message ({0}: {1})." +
"It is recommended that you reconnect to the server.",
ex.GetType().Name, ex.Message );
}
#endif
return true;
}