about summary refs log tree commit diff
path: root/Utilities/LibMatrix.DevTestBot/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/LibMatrix.DevTestBot/Program.cs')
-rw-r--r--Utilities/LibMatrix.DevTestBot/Program.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/Utilities/LibMatrix.DevTestBot/Program.cs b/Utilities/LibMatrix.DevTestBot/Program.cs
new file mode 100644
index 0000000..b53bbfb
--- /dev/null
+++ b/Utilities/LibMatrix.DevTestBot/Program.cs
@@ -0,0 +1,30 @@
+// See https://aka.ms/new-console-template for more information
+
+using ArcaneLibs;
+using LibMatrix.ExampleBot.Bot;
+using LibMatrix.ExampleBot.Bot.Interfaces;
+using LibMatrix.Services;
+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.AddScoped<DevTestBotConfiguration>();
+    services.AddRoryLibMatrixServices();
+    foreach (var commandClass in new ClassCollector<ICommand>().ResolveFromAllAccessibleAssemblies()) {
+        Console.WriteLine($"Adding command {commandClass.Name}");
+        services.AddScoped(typeof(ICommand), commandClass);
+    }
+
+    // services.AddHostedService<ServerRoomSizeCalulator>();
+    services.AddHostedService<DevTestBot>();
+}).UseConsoleLifetime().Build();
+
+await host.RunAsync();