private bool TryParseChat(string Line, out MessageData Data) {
Data = default(MessageData);
try {
var Match = ChatRegex.Match(Line);
if(!Match.Success || Match.Groups.Count != 4)
return false;
string ChatSymbol = Match.Groups[1].Value.FirstOrDefault().ToString();
string Username = Match.Groups[2].Value;
string Contents = Match.Groups[3].Value;
if(String.IsNullOrWhiteSpace(Username) || String.IsNullOrWhiteSpace(Contents))
return false;
Username = Username.Trim();
var MessageType = MessageTypeForChatSymbol(ChatSymbol);
Data = new MessageData(DateTime.Now, Username, Contents, MessageType);
return true;
} catch {
return false;
}
}