diff options
author | Emma [it/its]@Rory& <root@rory.gay> | 2023-12-01 12:16:00 +0100 |
---|---|---|
committer | Emma [it/its]@Rory& <root@rory.gay> | 2023-12-01 12:16:00 +0100 |
commit | 71d115dc8e915a620dd935955ba980fcbe421dad (patch) | |
tree | b836f5b0e1b5955bbc08443f8df6d078bd0fa7ea /ExampleBots/ModerationBot/Program.cs | |
parent | Moderation bot work (diff) | |
download | LibMatrix-71d115dc8e915a620dd935955ba980fcbe421dad.tar.xz |
Cleanup, move ArcaneLibs to submodule instead of parent submodule
Diffstat (limited to 'ExampleBots/ModerationBot/Program.cs')
-rw-r--r-- | ExampleBots/ModerationBot/Program.cs | 68 |
1 files changed, 40 insertions, 28 deletions
diff --git a/ExampleBots/ModerationBot/Program.cs b/ExampleBots/ModerationBot/Program.cs index b41b0be..d125258 100644 --- a/ExampleBots/ModerationBot/Program.cs +++ b/ExampleBots/ModerationBot/Program.cs @@ -1,28 +1,40 @@ -// See https://aka.ms/new-console-template for more information - -using LibMatrix.Services; -using LibMatrix.Utilities.Bot; -using ModerationBot; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -Console.WriteLine("Hello, World!"); - -var host = Host.CreateDefaultBuilder(args).ConfigureServices((_, services) => { - services.AddScoped<TieredStorageService>(x => - new TieredStorageService( - cacheStorageProvider: new FileStorageProvider("bot_data/cache/"), - dataStorageProvider: new FileStorageProvider("bot_data/data/") - ) - ); - services.AddSingleton<ModerationBotConfiguration>(); - - services.AddRoryLibMatrixServices(); - services.AddBot(withCommands: true); - - services.AddSingleton<PolicyEngine>(); - - services.AddHostedService<ModerationBot.ModerationBot>(); -}).UseConsoleLifetime().Build(); - -await host.RunAsync(); +// See https://aka.ms/new-console-template for more information + +using LibMatrix.Services; +using LibMatrix.Utilities.Bot; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using ModerationBot; + +Console.WriteLine("Hello, World!"); + +var builder = Host.CreateDefaultBuilder(args); + +builder.ConfigureHostOptions(host => { + host.ServicesStartConcurrently = true; + host.ServicesStopConcurrently = true; + host.ShutdownTimeout = TimeSpan.FromSeconds(5); +}); + +if (Environment.GetEnvironmentVariable("MODERATIONBOT_APPSETTINGS_PATH") is string path) + builder.ConfigureAppConfiguration(x => x.AddJsonFile(path)); + +var host = builder.ConfigureServices((_, services) => { + services.AddScoped<TieredStorageService>(x => + new TieredStorageService( + cacheStorageProvider: new FileStorageProvider("bot_data/cache/"), + dataStorageProvider: new FileStorageProvider("bot_data/data/") + ) + ); + services.AddSingleton<ModerationBotConfiguration>(); + + services.AddRoryLibMatrixServices(); + services.AddBot(withCommands: true); + + services.AddSingleton<PolicyEngine>(); + + services.AddHostedService<ModerationBot.ModerationBot>(); +}).UseConsoleLifetime().Build(); + +await host.RunAsync(); \ No newline at end of file |