about summary refs log tree commit diff
path: root/Program.cs
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-09-04 06:29:00 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-09-04 06:29:00 +0200
commitb21cd105b5247110b6789b85a55a280b59ee0598 (patch)
tree0c1e837b5435689134396e008b468badf0b5c261 /Program.cs
downloadLibMatrix.ExampleBot-b21cd105b5247110b6789b85a55a280b59ee0598.tar.xz
Add start of Media Moderator PoC bot
Diffstat (limited to '')
-rw-r--r--Program.cs32
1 files changed, 32 insertions, 0 deletions
diff --git a/Program.cs b/Program.cs
new file mode 100644

index 0000000..0378ec9 --- /dev/null +++ b/Program.cs
@@ -0,0 +1,32 @@ +// See https://aka.ms/new-console-template for more information + +using ArcaneLibs; +using LibMatrix.ExampleBot.Bot; +using LibMatrix.ExampleBot.Bot.Interfaces; +using LibMatrix.ExampleBot.Bot.StartupTasks; +using LibMatrix.Extensions; +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<MRUBotConfiguration>(); + 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<MRUBot>(); +}).UseConsoleLifetime().Build(); + +await host.RunAsync();