// --- Dispatching the correct things in the correct way --- void DoTrigger(IrcMsg msg) { // Return early if there's nothing to do. if (!string.IsNullOrEmpty(msg.Trigger)) { DoTrigger(new TriggerMsg(msg)); } }
public bool Contains(IrcMsg msg) { if (ignores != null) { return(ignores.Contains(msg.Nick) || ignores.Contains(msg.Channel)); } return(false); }
public void QueryAction(object sender, ActionEventArgs e) { var msg = new IrcMsg(irc, e, triggerPrefix); if (!Ignore.Contains(msg)) { DoHandlers <IQueryAction>(msg); DoHandlers <IIrcMsg>(msg); } }
public void QueryMessage(object sender, IrcEventArgs e) { var msg = new IrcMsg(irc, e, triggerPrefix); if (!Ignore.Contains(msg)) { DoTrigger(msg); DoHandlers <IQueryMsg>(msg); DoHandlers <IIrcMsg>(msg); } }
// Cloning constructor. public IrcMsg(IrcMsg msg) { Irc = msg.Irc; type = msg.type; Message = msg.Message; MessageParts = msg.MessageParts; Channel = msg.Channel; Nick = msg.Nick; Ident = msg.Ident; Host = msg.Host; Trigger = msg.Trigger; ReturnTo = msg.ReturnTo; }
public TriggerMsg(IrcMsg msg) : base(msg) { }