public BelchPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("belch"), CommandUtil.NoOptions, CommandUtil.NoArguments, CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleBelchCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("skittles"), CommandUtil.NoOptions, CommandUtil.MakeArguments(RestTaker.Instance), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleSkittlesCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("tel"), CommandUtil.NoOptions, CommandUtil.MakeArguments(RestTaker.Instance), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleTelCommand ); }
public TimePlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new TimeConfig(config); LoadTimeZoneData(); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("time", "ltime"), CommandUtil.NoOptions, CommandUtil.MakeArguments( RestTaker.Instance // location ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleTimeCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("interval"), CommandUtil.NoOptions, CommandUtil.MakeArguments( RestTaker.Instance // date/time ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleIntervalCommand ); }
public IKnewThatPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new IKnewThatConfig(config); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("iknewthat"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // keyword ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleIKnewThatChannelCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( new Command( CommandUtil.MakeNames("iknowthat"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker, // keyword RestTaker.Instance // description ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleIKnowThatQueryCommand ); }
public LinkInfoPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new LinkInfoConfig(config); IDNMapping = new IdnMapping(); Plugins = new List <ILinkResolverPlugin>(); LastLinkAndInfo = null; LinkDetector = null; ConnectionManager.ChannelMessage += HandleChannelMessage; ConnectionManager.OutgoingChannelMessage += HandleOutgoingChannelMessage; ConnectionManager.SplitToChunks += HandleSplitToChunks; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("ll", "lastlink"), CommandUtil.NoOptions, CommandUtil.NoArguments, CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleLastLinkCommand ); RepopulatePluginList(); }
public DicePlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new DiceConfig(config); RNG = new Random(); CryptoRNG = new CryptoRandom(); ChannelToCooldown = new Dictionary <string, CooldownState>(); ImmutableList <KeyValuePair <string, IArgumentTaker> > cryptoOption = CommandUtil.MakeOptions( CommandUtil.MakeFlag("--crypto") ) ; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("roll"), cryptoOption, CommandUtil.MakeArguments(new MultiMatchTaker(RollRegex, RollSeparatorRegex, 1)), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleRollCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("yn"), cryptoOption, CommandUtil.MakeArguments(RestTaker.Instance), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleYesNoCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("decide"), cryptoOption, CommandUtil.MakeArguments(RestTaker.Instance), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleDecideCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("shuffle"), cryptoOption, CommandUtil.MakeArguments(RestTaker.Instance), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleShuffleCommand ); ConnectionManager.ChannelMessage += HandleChannelMessage; }
public DatabaseNickMappingPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new DatabaseNickMappingConfig(config); ConnectionManager.NickMapping += HandleNickMapping; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("linknicks"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker, // first nick (base) CommandUtil.NonzeroStringMatcherRequiredWordTaker // second nick (alias) ), forbiddenFlags: MessageFlags.UserBanned ), HandleLinkNicksCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("unlinknick"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nick ), forbiddenFlags: MessageFlags.UserBanned ), HandleUnlinkNickCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("basenick"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nick ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleBaseNickCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("pseudoregister", "pseudounregister"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nick ), forbiddenFlags: MessageFlags.UserBanned ), HandlePseudoRegisterCommand ); }
public ProverbPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new ProverbConfig(config); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("sprichwort"), CommandUtil.NoOptions, CommandUtil.NoArguments, CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleProverbCommand ); }
public WeatherPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new WeatherConfig(config); WeatherProviders = new List <IWeatherProvider>(); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("weather", "lweather"), CommandUtil.NoOptions, CommandUtil.MakeArguments( RestTaker.Instance // location ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleWeatherCommand ); ReloadProviders(); }
public VitalsPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new VitalsConfig(config); NameToReader = new Dictionary <string, IVitalsReader>(); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("vitals", "vit"), CommandUtil.NoOptions, CommandUtil.MakeArguments( RestTaker.Instance // location ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleVitalsCommand ); RecreateReaders(); }
public WhoDoYouThinkIsPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; var wdytiCommand = new Command( CommandUtil.MakeNames("wdyti"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nickname ), forbiddenFlags: MessageFlags.UserBanned ); // it's a fun command in a channel and a useful command in private message ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("wdyti"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nickname ), forbiddenFlags: MessageFlags.UserBanned ), HandleWDYTICommandInChannel ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( new Command( CommandUtil.MakeNames("wdyti"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nickname ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleWDYTICommandInQuery ); }
public SmileysPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new SmileysConfig(config); // it's a fun command in a channel and a useful command in private message ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("smileys", "smilies"), tags: CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleSmileysCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( new Command( CommandUtil.MakeNames("smileys", "smilies"), tags: CommandUtil.NoTags, forbiddenFlags: MessageFlags.UserBanned ), HandleSmileysCommand ); }
public QuotesPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new QuotesConfig(config); PotentialQuotesPerChannel = new Dictionary <string, List <Quote> >(); LastQuoteIDs = new Dictionary <string, long>(); Randomizer = new Random(); ConnectionManager.ChannelMessage += HandleChannelMessage; ConnectionManager.ChannelAction += HandleChannelAction; ConnectionManager.BaseNickChanged += HandleBaseNickChanged; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("addquote"), CommandUtil.NoOptions, CommandUtil.MakeArguments( RestTaker.Instance // quote body ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleAddQuoteCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("remember"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker, // quote author RestTaker.Instance // search string ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleRememberCommand ); { var quoteCommand = new Command( CommandUtil.MakeNames("quote"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--any"), CommandUtil.MakeFlag("--bad"), CommandUtil.MakeFlag("-r") ), CommandUtil.MakeArguments( RestTaker.Instance // search string (optional) ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler(quoteCommand, HandleQuoteCommand); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler(quoteCommand, HandleQuoteCommand); } { var quoteUserCommand = new Command( CommandUtil.MakeNames("quoteuser"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--any"), CommandUtil.MakeFlag("--bad"), CommandUtil.MakeFlag("-r") ), CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // nickname ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( quoteUserCommand, HandleQuoteUserCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( quoteUserCommand, HandleQuoteUserCommand ); } { var nextQuoteCommand = new Command( CommandUtil.MakeNames("nextquote"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--any"), CommandUtil.MakeFlag("--bad"), CommandUtil.MakeFlag("-r") ), CommandUtil.NoArguments, CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( nextQuoteCommand, HandleNextQuoteCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( nextQuoteCommand, HandleNextQuoteCommand ); } { var upquoteCommand = new Command( CommandUtil.MakeNames("upquote", "uq"), forbiddenFlags: MessageFlags.UserBanned ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( upquoteCommand, HandleUpquoteCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( upquoteCommand, HandleUpquoteCommand ); } { var downquoteCommand = new Command( CommandUtil.MakeNames("downquote", "dq"), forbiddenFlags: MessageFlags.UserBanned ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( downquoteCommand, HandleDownquoteCommand ); ConnectionManager.CommandManager.RegisterQueryMessageCommandHandler( downquoteCommand, HandleDownquoteCommand ); } }
public ThanksPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new ThanksConfig(config); ConnectionManager.BaseNickChanged += HandleBaseNickChanged; ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("thank", "thanks", "thx"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--force") ), CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker, // target RestTaker.Instance // reason ), forbiddenFlags: MessageFlags.UserBanned ), HandleThankCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("thanked"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--raw") ), CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // target ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleThankedCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("grateful"), CommandUtil.MakeOptions( CommandUtil.MakeFlag("--raw") ), CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // target ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleGratefulCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("topthanked"), tags: CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleTopThankedCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("topgrateful"), tags: CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleTopGratefulCommand ); }
public CountersPlugin(IConnectionManager connMgr, JObject config) { ConnectionManager = connMgr; Config = new CountersConfig(config); CurrentCommands = new HashSet <Command>(); ChannelsMessages = new Dictionary <string, RingBuffer <ChannelMessage> >(); ReregisterCommands(); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("uncount"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // counter name ), forbiddenFlags: MessageFlags.UserBanned ), HandleUncountCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("regexcount"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker, // counter name CommandUtil.NonzeroStringMatcherRequiredWordTaker, // nickname RestTaker.Instance // regex ), forbiddenFlags: MessageFlags.UserBanned ), HandleRegexCountCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("counted"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // counter name ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleCountedCommand ); ConnectionManager.CommandManager.RegisterChannelMessageCommandHandler( new Command( CommandUtil.MakeNames("counterstats"), CommandUtil.NoOptions, CommandUtil.MakeArguments( CommandUtil.NonzeroStringMatcherRequiredWordTaker // counter name ), CommandUtil.MakeTags("fun"), forbiddenFlags: MessageFlags.UserBanned ), HandleCounterStatsCommand ); ConnectionManager.ChannelMessage += HandleChannelMessage; ConnectionManager.BaseNickChanged += HandleBaseNickChanged; }