public async Task MainAsync() { c.title = "KipoBot"; string[] reqPaths = { "data", "fonts", "banners" }; foreach (var path in reqPaths) { if (!Helpers.AssertDirectory(path)) { return; } } if (!ConfigurationService.AssertConfigFile()) { Logger.info($"Template config file created in {Helpers.WORKING_DIRECTORY}/config.json\nEdit it and rerun Kipo."); return; } Logger.info("Found config!"); ImageMaker.loadBanners($"banners/"); using (var services = ConfigureServices()) { var client = services.GetRequiredService <DiscordSocketClient>(); var config = services.GetRequiredService <ConfigurationService>(); var database = services.GetRequiredService <DatabaseService>(); var interactive = services.GetRequiredService <InteractiveService>(); client.Log += LogAsync; services.GetRequiredService <CommandService>().Log += LogAsync; await client.LoginAsync(TokenType.Bot, config.token); await client.StartAsync(); await services.GetRequiredService <CommandHandlingService>().InitializeAsync(); await client.SetGameAsync(config.prefix + "help"); startJobManager(); await Task.Delay(-1); } }