private IServiceProvider ConfigureServices() { this.dClient = new DiscordClient(new DiscordConfiguration { #if DEBUG LogLevel = LogLevel.Debug, #endif MessageCacheSize = 0, Token = Environment.GetEnvironmentVariable("BOT_TOKEN"), TokenType = TokenType.Bot, }); this.dClient.DebugLogger.LogMessageReceived += this.ConvertToSerilog; IServiceCollection services = new ServiceCollection(); // DB services.AddDbContextPool <FitzContext>(options => options.UseMySql(new FitzContextFactory().ConnectionString)); services.AddSingleton <FitzContextFactory>(); // General services.AddSingleton(this.dClient) .AddSingleton <FitzLog>() .AddSingleton <ActivityManager>(); // Jobs services.AddSingleton <JobManager>(); JobManager.AddJobs(ref services); Log.Information("Services configured"); return(services.BuildServiceProvider()); }