-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProgram.cs
36 lines (32 loc) · 1.23 KB
/
Program.cs
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
34
35
36
using Discord;
using Discord.WebSocket;
using FilmsBot;
using FilmsBot.Client;
using FilmsBot.Commands;
using FilmsBot.Database;
using Microsoft.EntityFrameworkCore;
using Serilog;
var builder = WebApplication.CreateBuilder(args);
builder.Configuration.AddJsonFile($"conf/appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", true, false);
builder.Services.AddSingleton<DiscordClient>();
builder.Services.AddTransient<FilmsInteractionModule>();
builder.Services.AddSingleton<FilmsInteractionService>();
builder.Services.AddDbContextPool<FilmsBotDbContext>(o =>
{
var connectionString = builder.Configuration["ConnectionString"];
Console.WriteLine(connectionString);
o.UseNpgsql(connectionString);
}, 64);
builder.Services.AddSingleton(new DiscordSocketClient(new DiscordSocketConfig
{
AlwaysDownloadUsers = true,
MessageCacheSize = 250,
LogLevel = LogSeverity.Verbose
}));
builder.Services.AddSingleton<FilmsEmbeddingFactory>();
builder.Services.AddSingleton<IBotDeveloperProvider, BotDeveloperProvider>();
builder.Host.UseSerilog((_, c) => c.ReadFrom.Configuration(builder.Configuration));
var app = builder.Build();
var client = app.Services.GetRequiredService<DiscordClient>();
client.Run();
app.Run();