refactor: organize things a bit

This commit is contained in:
Stevan Freeborn
2025-05-18 12:16:14 -05:00
parent db221334ca
commit 9af7522c29
37 changed files with 229 additions and 209 deletions
+4 -17
View File
@@ -1,7 +1,3 @@
using System.Net.Http.Headers;
using Microsoft.Extensions.Options;
var builder = Host.CreateApplicationBuilder(args);
builder.Services.Configure<HostOptions>(static options => options.ShutdownTimeout = TimeSpan.FromSeconds(30));
@@ -18,20 +14,11 @@ builder.Services.AddSingleton(static sp =>
builder.Services.AddSingleton<IWebSocketFactory, WebSocketFactory>();
builder.Services.AddSingleton(TimeProvider.System);
builder.Services
.AddHttpClient<IDiscordRestClient, DiscordRestClient>(static (sp, c) =>
{
var discordOptions = sp.GetRequiredService<DiscordClientOptions>();
c.BaseAddress = new Uri(discordOptions.ApiUrl);
c.DefaultRequestHeaders.Authorization = new("Bot", discordOptions.AppToken);
c.DefaultRequestHeaders.Add("User-Agent", $"DiscordBot (https://github.com/StevanFreeborn/steves-bot, 0.0.0)");
})
.AddStandardResilienceHandler();
builder.Services.AddDiscordRestClient();
// TODO: Create an extension method that allows adding
// the discord gateway client and allows me to configure
// event handlers
builder.Services.AddSingleton<IDiscordGatewayClient, DiscordGatewayClient>();
builder.Services.AddDiscordGatewayClient(static (client) =>
client.On(DiscordEventTypes.MessageCreate, WelcomeMessageHandler.HandleAsync)
);
builder.Services.AddHostedService<Worker>();