예제 #1
0
 public ProxiedMessage(EmbedService embeds,
                       DiscordApiClient rest, IMetrics metrics, ModelRepository repo, ProxyService proxy,
                       WebhookExecutorService webhookExecutor, LogChannelService logChannel, IDiscordCache cache)
 {
     _embeds          = embeds;
     _rest            = rest;
     _webhookExecutor = webhookExecutor;
     _repo            = repo;
     _logChannel      = logChannel;
     // _cache = cache;
     _metrics = metrics;
     _proxy   = proxy;
 }
예제 #2
0
 public ProxyService(LogChannelService logChannel, ILogger logger, WebhookExecutorService webhookExecutor,
                     DispatchService dispatch, IDatabase db, ProxyMatcher matcher, IMetrics metrics, ModelRepository repo,
                     IDiscordCache cache, DiscordApiClient rest, LastMessageCacheService lastMessage)
 {
     _logChannel      = logChannel;
     _webhookExecutor = webhookExecutor;
     _dispatch        = dispatch;
     _db          = db;
     _matcher     = matcher;
     _metrics     = metrics;
     _repo        = repo;
     _cache       = cache;
     _lastMessage = lastMessage;
     _rest        = rest;
     _logger      = logger.ForContext <ProxyService>();
 }
예제 #3
0
        public static async Task StartServiceHandlers(IServiceProvider provider)
        {
            _client        = provider.GetService <DiscordShardedClient>();
            _channellogger = provider.GetService <LogChannelService>();
            _config        = provider.GetService <IConfigurationRoot>();
            _unit          = provider.GetService <IUnitOfWork>();
            _factory       = provider.GetService <ILoggerFactory>();
            _logger        = _factory.CreateLogger(typeof(EventHandlers));
            var adsService    = provider.GetService <AntiAdsService>();
            var cmdService    = provider.GetService <CommandService>();
            var faqService    = provider.GetService <FaqService>();
            var githubService = provider.GetService <GithubService>();

            await ReadyLogger();

            _handler = new CommandHandler(provider);
            await _handler.LoadModulesAndStartAsync();

            _logger.LogInformation(new EventId(200), "Created & Started CommandHandler");

            await faqService.LoadFaqsAsync();

            _logger.LogInformation(new EventId(200), "Installed and loaded FAQ Service");

            adsService.StartService();
            _logger.LogInformation(new EventId(200), "Started AntiAds Service");

            await JobQueue.Install(provider);

            _logger.LogInformation(new EventId(200), "Loaded JobQueue");

            await githubService.StartAsync();

            _logger.LogInformation(new EventId(200), "Started Github service");

            _client.Log    += ClientLogger;
            cmdService.Log += CommandLogger;

            _client.JoinedGuild += JoinedGuild;
            _client.LeftGuild   += LeftGuild;
        }
예제 #4
0
 public ModCommands(LogChannelService logChannels, MessageStore messages, EmbedService embeds)
 {
     _logChannels = logChannels;
     _messages    = messages;
     _embeds      = embeds;
 }
예제 #5
0
 public BlockModule(LogChannelService logChannelService, DiscordShardedClient client)
 {
     _logChannelService = logChannelService;
     _client            = client;
 }
예제 #6
0
 public ModCommands(LogChannelService logChannels, IDataStore data, EmbedService embeds)
 {
     _logChannels = logChannels;
     _data        = data;
     _embeds      = embeds;
 }