public override ProviderCollection ConfigureProviders( IServiceProvider services, IAsyncEventingExecutor <IDiscordMessage> pipeline) { var _ = services.GetService <DatadogRoutine>(); // Eager loading var discordClient = services.GetService <IDiscordClient>(); discordClient.Events.GuildJoin.SubscribeTask(ClientJoinedGuildAsync); discordClient.Events.MessageCreate .SubscribeTask(async msg => await pipeline.ExecuteAsync(msg)); pipeline.OnExecuted += LogErrorsAsync; return(new ProviderCollection() .Add(new ProviderAdapter( () => discordClient.StartAsync(default),
public override ProviderCollection ConfigureProviders( IServiceProvider services, IAsyncEventingExecutor <IDiscordMessage> pipeline) { var _ = services.GetService <DatadogRoutine>(); // Eager loading var discordClient = services.GetService <IDiscordClient>(); discordClient.GuildJoin += ClientJoinedGuildAsync; discordClient.MessageCreate += async e => await pipeline.ExecuteAsync(e); pipeline.OnExecuted += LogErrorsAsync; return(new ProviderCollection() .Add(new ProviderAdapter( discordClient.Gateway.StartAsync, discordClient.Gateway.StopAsync))); }