about summary refs log tree commit diff
path: root/ExampleBots/ModerationBot/Program.cs
diff options
context:
space:
mode:
authorEmma [it/its]@Rory& <root@rory.gay>2023-11-23 05:42:33 +0100
committerEmma [it/its]@Rory& <root@rory.gay>2023-11-23 05:42:33 +0100
commit3e934eee892f69a8f78b94950993000522702769 (patch)
tree6aa0d3d26c9a07a7a3e097fe28abb785400bfbd6 /ExampleBots/ModerationBot/Program.cs
parentAdd license retroactively, matching where the code originated from (MatrixRoo... (diff)
downloadLibMatrix-3e934eee892f69a8f78b94950993000522702769.tar.xz
Moderation bot work
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();