示例#1
0
        public GuildSettingsSyncService(IServiceProvider services,
                                        GuildSettingsCache cache,
                                        DiscordService discord)
        {
            _services = services;
            _cache    = cache;
            _discord  = discord;

            _discord.GuildAvailable += RefreshGuildAsync;
            _discord.JoinedGuild    += RefreshGuildAsync;

            foreach (var guild in discord.Guilds)
            {
                cache.RefreshQueue.Enqueue(guild.Id);
            }
        }
示例#2
0
        public ReactionHandlerService(DiscordService discord,
                                      GuildSettingsCache guildSettingsCache,
                                      DiscordErrorReporter errorReporter,
                                      ILogger <ReactionHandlerService> logger,
                                      InteractiveManager interactiveManager)
        {
            _discord            = discord;
            _guildSettingsCache = guildSettingsCache;
            _errorReporter      = errorReporter;
            _logger             = logger;

            _reactionHandlers = new IReactionHandler[]
            {
                interactiveManager
            };
        }
示例#3
0
        public MessageHandlerService(DiscordService discord,
                                     GuildSettingsCache guildSettingsCache,
                                     DiscordErrorReporter errorReporter,
                                     ILogger <MessageHandlerService> logger,
                                     CommandExecutor commandExecutor,
                                     GalleryUrlDetector galleryUrlDetector,
                                     InteractiveManager interactiveManager)
        {
            _discord            = discord;
            _guildSettingsCache = guildSettingsCache;
            _errorReporter      = errorReporter;
            _logger             = logger;

            _messageHandlers = new IMessageHandler[]
            {
                commandExecutor,
                galleryUrlDetector,
                interactiveManager
            };
        }
示例#4
0
 public RefreshQueueProcessor(IDatabase database,
                              GuildSettingsCache cache)
 {
     _database = database;
     _cache    = cache;
 }