about summary refs log tree commit diff
path: root/MatrixAntiDmSpam/Program.cs
blob: 51850a1292511641f6c2fb10218161d962ddf9d6 (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
using LibMatrix.Extensions;
using LibMatrix.Services;
using LibMatrix.Utilities.Bot;
using MatrixAntiDmSpam.Core;

var builder = Host.CreateApplicationBuilder(args);

builder.Services.AddSingleton<AntiDmSpamConfiguration>();
builder.Services.AddRoryLibMatrixServices()
    .AddMatrixBot()
    .WithInviteHandler<RoomInviteHandler>();

builder.Services.AddHostedService<AntiDmSpamStartup>();
builder.Services.AddHostedService<PolicyListFetcher>();
builder.Services.AddSingleton<InviteManager>();
builder.Services.AddHostedService<InviteManager>(sp => sp.GetRequiredService<InviteManager>());
builder.Services.AddSingleton<IgnoreListManager>();
builder.Services.AddHostedService<IgnoreListManager>(sp => sp.GetRequiredService<IgnoreListManager>());
builder.Services.AddSingleton<ReportManager>();
builder.Services.AddHostedService<ReportManager>(sp => sp.GetRequiredService<ReportManager>());

builder.Services.AddSingleton<PolicyStore>();

builder.Configuration["LibMatrixBot:InviteListener:SyncConfiguration:MinimumSyncTime"] ??= builder.Configuration["AntiDmSpam:MinimumSyncTime"];

MatrixHttpClient.LogRequests = false;

var host = builder.Build();
host.Run();