public ModeratorCommands( IChatModeChanger changer, ILinkedAccountRepo linkedAccountRepo, IResponseCommandRepo responseCommandRepo) { _changer = changer; _linkedAccountRepo = linkedAccountRepo; _responseCommandRepo = responseCommandRepo; }
public static CommandProcessor SetUpCommandProcessor( ILoggerFactory loggerFactory, ArgsParser argsParser, Databases databases, StopToken stopToken, IMessageSender messageSender, IChatModeChanger chatModeChanger, IImmutableSet <Common.PkmnSpecies> knownSpecies) { var commandProcessor = new CommandProcessor( loggerFactory.CreateLogger <CommandProcessor>(), databases.CommandLogger, argsParser); IEnumerable <Command> commands = new[] { new EasterEggCommands().Commands, new StaticResponseCommands().Commands, new UserCommands( databases.UserRepo, pokeyenBank: databases.PokeyenBank, tokenBank: databases.TokensBank, messageSender ).Commands, new PollCommands(databases.PollRepo).Commands, new ManagePollCommands(databases.PollRepo).Commands, new BadgeCommands(databases.BadgeRepo, databases.UserRepo, messageSender, knownSpecies).Commands, new OperatorCommands( stopToken, databases.PokeyenBank, databases.TokensBank, messageSender: messageSender, databases.BadgeRepo, databases.UserRepo ).Commands, new ModeratorCommands( chatModeChanger, databases.LinkedAccountRepo, databases.ResponseCommandRepo ).Commands }.SelectMany(cmds => cmds).Concat(new[] { new HelpCommand(commandProcessor).Command }); foreach (Command command in commands) { commandProcessor.InstallCommand(command); } SetUpDynamicCommands(loggerFactory.CreateLogger("setups"), commandProcessor, databases.ResponseCommandRepo); return(commandProcessor); }
public ModeratorCommands(IEnumerable <string> moderatorNames, IEnumerable <string> operatorNames, IChatModeChanger changer) { _moderatorNamesLower = operatorNames.Concat(moderatorNames).Select(s => s.ToLowerInvariant()) .Distinct().ToImmutableHashSet(); //add both mods and ops to mod list _changer = changer; }