private static AndersonRoom RoomWithMessage(AndersonMessage msg) { var room = new AndersonRoom(null); var para = new InternalParagraph(msg.Content); room.Paragraphs.Add(para); room._lastParagraph = para; return(room); }
public void AddTextMessage(MatrixUser sender, MatrixEvent message) { string messageText = message.content.mxContent["body"].ToString(); DateTime time = EpochStart.AddMilliseconds(message.origin_server_ts); var aMsg = new AndersonMessage(message.sender, messageText, time, MessageStatus.Sent); if (message.sender == _lastMessage?.User && (time - _lastMessage.SentTime) < InactiveDelay) { _lastParagraph.Messages.Add(aMsg); } else { var newLast = new AndersonParagraph(sender); newLast.Messages.Add(aMsg); Paragraphs.Add(newLast); _lastParagraph = newLast; } _lastMessage = aMsg; }