Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static List<LokiPoe.InGameState.ChatPanel.ChatEntry> RelevantMessages => LokiPoe.InGameState.ChatPanel.Messages.Where(d => d.MessageType == LokiPoe.InGameState.ChatPanel.MessageType.Whisper && !d.Message.StartsWith("@To")).ToList();
- public static List<ChatMessage> NewMessages
- {
- get
- {
- List<ChatMessage> res = new List<ChatMessage>();
- var relevantMsgs = RelevantMessages;
- if(relevantMsgs.Count == 0)
- {
- lastMD5 = "";
- return res;
- }
- if(lastMD5 != "")
- {
- var lastMD5MsgIndex = relevantMsgs.FindIndex(d => d.MD5 == lastMD5);
- if (lastMD5MsgIndex != -1)
- relevantMsgs.RemoveRange(0, lastMD5MsgIndex + 1);
- }
- if (relevantMsgs.Count == 0)
- return res;
- foreach (var msg in relevantMsgs)
- {
- var pRes = ChatMessage.Parse(msg.Message);
- if(pRes.err)
- {
- TradeManager.TechnicalFail(new CommunicationFail() { err = CommunicationError.ParseMsgFail, PlayerName = msg.Sender });
- Log.Error("[ChatParser] ERR " + pRes.info);
- return null;
- }
- // use sender as player name (excludes the clan name)
- pRes.message.PlayerName = msg.Sender;
- Log.ErrorFormat("msg sender parsed {0} api {1}", pRes.message.PlayerName, msg.Sender);
- res.Add(pRes.message);
- }
- lastMD5 = relevantMsgs.Last().MD5;
- return res;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement