30 lines
No EOL
1.2 KiB
C#
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(); |