void Replace(ReplaceAction replace, string channel, string invoker) { foreach (var item in history.GetMessages(channel)) { string replacedMsg; switch (replace.TryReplace(item.Message, out replacedMsg)) { case ReplaceResult.NoMatch: continue; case ReplaceResult.RegexTimeout: irc.SendNotice(invoker, "Your regular expression timed out."); return; case ReplaceResult.Success: if (FoulPlay(replacedMsg)) { irc.SendNotice(invoker, "Replaced message was too long, not outputting to prevent spam."); } else { irc.SendMessage(channel, "<{0}> {1}", item.Nick, replacedMsg); } return; } // switch } // foreach }
void Set(string nick, IEnumerable <string> args) { var name = args.GetEndArg(out string dateStr) .ToJoined(JoinedOptions.TrimRemove); if (TryGetDate(dateStr, out DateTime date)) { var unit = new TimeLeftUnit(name, date); lock (_locker) { storage.Set(name, unit); storage.Serialize(loc); } irc.SendNotice(nick, "Set \"{0}\" :: {1}", name, date.ToString(dateFmt)); } }
public void Read(ITriggerMsg e) { // tell-read [amount] var inbox = inboxes.Get(e.Nick); var tells = inbox.Read(Amount(e.GetArg())); if (tells.Length > 0) { foreach (TellEntry tellMsg in tells) { irc.SendNotice(e.Nick, FormatTell(tellMsg)); } irc.SendNotice(e.Nick, " ----- {0} message(s) remaining.", inbox.MessagesCount); inboxes.Save(inbox); } else { irc.SendNotice(e.Nick, "No messages to read."); } }
void Add(string channel, string nick, string patternsStr, int?assocPat) { var patterns = InputTools.GetPatterns(patternsStr); int amount = 0; if (assocPat == null) { foreach (var pattern in patterns) { if (feedPatterns.Add(channel, pattern) != -1) { amount++; } } irc.SendNotice(nick, "Added {0} pattern(s)", amount); } else if (assocPat >= 0) { foreach (var pattern in patterns) { if (feedPatterns.AddExclude(channel, assocPat.Value, pattern) != -1) { amount++; } } irc.SendNotice(nick, "Added {0} exclude pattern(s)", amount); } else { foreach (var pattern in patterns) { if (feedPatterns.AddGlobalExclude(channel, pattern) != -1) { amount++; } } irc.SendNotice(nick, "Added {0} global exclude pattern(s)", amount); } }