about summary refs log tree commit diff
path: root/ExampleBots/ModerationBot/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ExampleBots/ModerationBot/Program.cs')
-rw-r--r--ExampleBots/ModerationBot/Program.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/ExampleBots/ModerationBot/Program.cs b/ExampleBots/ModerationBot/Program.cs
new file mode 100644

index 0000000..b41b0be --- /dev/null +++ b/ExampleBots/ModerationBot/Program.cs
@@ -0,0 +1,28 @@ +// 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();