public void OnTextMessageEvent(Event e) { NotifyTextMessageEvent evt = (NotifyTextMessageEvent)e; int myId = GetMyClientId(); if (evt.InvokerId == myId && SelfMessagesToIgnore.Contains(evt.Message)) { SelfMessagesToIgnore.Remove(evt.Message); return; } Action <string> messageCallback = null; if (evt.TargetMode == MessageMode.Private) { if (evt.InvokerId == myId) { messageCallback = (s) => Client.SendPrivateMessage(s, evt.Target); } else { messageCallback = (s) => Client.SendPrivateMessage(s, evt.InvokerId); } } else if (evt.TargetMode == MessageMode.Channel) { messageCallback = Client.SendChannelMessage; } else if (evt.TargetMode == MessageMode.Server) { messageCallback = Client.SendServerMessage; } bool handled = CommandHandler.HandleTextMessage(evt, messageCallback); if (!handled) { OnImmediateChatReaction(evt, messageCallback); } }
public void IgnoreSelfTextMessage(string text) { SelfMessagesToIgnore.Add(text); }