/// <summary> /// Converts Xchat system message in room chat to object. /// </summary> /// <param name="message">Message in string</param> /// <param name="exportObject">For referencing XChatSnooperExport from XChat object</param> /// <returns>Object that represents Xchat system room message</returns> private static XChatRoomMessage ParseXchatRoomSystemMessage(string message, SnooperExportBase exportObject) { message = Regex.Replace(message, "<.*?>", string.Empty); //Remove HTML tags from message var positionSpace = message.IndexOf(' '); //Time and text of message are divided by single space if (positionSpace == -1) { return(null); } var time = message.Substring(0, positionSpace); var text = message.Substring(positionSpace + 1); var result = new XChatRoomMessage(exportObject) { Time = time, Source = "System", Text = HttpUtility.HtmlDecode(text) }; return(result); }
/// <summary> /// Converts Xchat user message in room chat to object. /// </summary> /// <param name="message">Message in string</param> /// <param name="exportObject">For referencing XChatSnooperExport from XChat object</param> /// <returns>Object that represents Xchat user room message</returns> private static XChatRoomMessage ParseXchatRoomUserMessage(string message, SnooperExportBase exportObject) { message = Regex.Replace(message, "<.*?>", string.Empty); //Remove HTML tags from message var positionSpace = message.IndexOf(' '); //Time and user nickname are divided by single space if (positionSpace == -1) { return(null); } var time = message.Substring(0, positionSpace); var position = message.IndexOf(':', positionSpace); //User nickname and message are divided by colon if (position == -1) { return(null); } var sender = message.Substring(positionSpace + 1, position - positionSpace - 1); var text = message.Substring(position + 2); text = text.Trim(); if (text != "") //If message does not contain only whitespace { var result = new XChatRoomMessage(exportObject) { Time = time, Source = sender, Text = HttpUtility.HtmlDecode(text) }; return(result); } return(null); }