diff options
author | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-09-04 06:29:00 +0200 |
---|---|---|
committer | TheArcaneBrony <myrainbowdash949@gmail.com> | 2023-09-04 06:29:00 +0200 |
commit | 9dcce18cda5317ea1150eed06d6589b6285577e6 (patch) | |
tree | 1b36a9ddffa312e58daab075c43fb482c2bae905 /ExampleBots/MediaModeratorPoC/Program.cs | |
parent | Too many changes to name... (diff) | |
download | LibMatrix-9dcce18cda5317ea1150eed06d6589b6285577e6.tar.xz |
Add start of Media Moderator PoC bot
Diffstat (limited to 'ExampleBots/MediaModeratorPoC/Program.cs')
-rw-r--r-- | ExampleBots/MediaModeratorPoC/Program.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ExampleBots/MediaModeratorPoC/Program.cs b/ExampleBots/MediaModeratorPoC/Program.cs new file mode 100644 index 0000000..1bc0c62 --- /dev/null +++ b/ExampleBots/MediaModeratorPoC/Program.cs @@ -0,0 +1,29 @@ +// See https://aka.ms/new-console-template for more information + +using ArcaneLibs; +using LibMatrix.Services; +using MediaModeratorPoC.Bot; +using MediaModeratorPoC.Bot.Interfaces; +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<MediaModBotConfiguration>(); + services.AddRoryLibMatrixServices(); + foreach (var commandClass in new ClassCollector<ICommand>().ResolveFromAllAccessibleAssemblies()) { + Console.WriteLine($"Adding command {commandClass.Name}"); + services.AddScoped(typeof(ICommand), commandClass); + } + + services.AddHostedService<MediaModBot>(); +}).UseConsoleLifetime().Build(); + +await host.RunAsync(); |