Flux-Systems-Assistant/Flux_System_Assistant/Program.cs

30 lines
No EOL
1.2 KiB
C#

using Discord.Interactions;
using Discord.WebSocket;
using Flux_System_Assistant.Services;
using Microsoft.Extensions.Configuration.Yaml;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Core;
// https://discord.com/api/oauth2/authorize?client_id=1102991244478664756&permissions=19235481315408&scope=bot%20applications.commands
using IHost host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(config =>
{
config.AddYamlFile("config.yaml", false); // Add the config file to IConfiguration variables
})
.ConfigureServices(services =>
{
services.AddSingleton<DiscordSocketClient>(); // Add the discord client to services
services.AddSingleton<InteractionService>(); // Add the interaction service to services
services.AddHostedService<InteractionHandlingService>(); // Add the slash command handler
services.AddHostedService<DiscordStartupService>(); // Add the discord startup service
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger();
services.AddSingleton(Log.Logger);
})
.Build();
await host.RunAsync();