blob: 2ee2c9b45997b90ff25b32b3bdf5878096b6e682 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using Jenny;
using Jenny.Handlers;
using LibMatrix.Services;
using LibMatrix.Utilities.Bot;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var builder = Host.CreateDefaultBuilder(args);
builder.ConfigureHostOptions(host => {
host.ServicesStartConcurrently = true;
host.ServicesStopConcurrently = true;
host.ShutdownTimeout = TimeSpan.FromSeconds(5);
});
if (Environment.GetEnvironmentVariable("JENNY_APPSETTINGS_PATH") is string path)
builder.ConfigureAppConfiguration(x => x.AddJsonFile(path));
var host = builder.ConfigureServices((_, services) => {
services.AddSingleton<JennyConfiguration>();
services.AddRoryLibMatrixServices(new() {
AppName = "Jenny"
});
services.AddMatrixBot().AddCommandHandler().DiscoverAllCommands()
.WithInviteHandler(InviteHandler.HandleAsync)
.WithCommandResultHandler(CommandResultHandler.HandleAsync);
services.AddHostedService<JennyBot>();
}).UseConsoleLifetime().Build();
await host.RunAsync();
|