Files
TentacleBot/Program.cs
Garret Patti 3064e93011 init commit
2026-07-04 20:43:38 -04:00

51 lines
1.4 KiB
C#

using Discord;
using Discord.WebSocket;
using Discord.Interactions;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using TentacleBot.Services;
using TentacleBot.Commands;
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var discordConfig = new DiscordSocketConfig
{
GatewayIntents = GatewayIntents.All,
LogLevel = LogSeverity.Info,
UseInteractionSnowflakeDate = false,
};
var client = new DiscordSocketClient(discordConfig);
var services = new ServiceCollection()
.AddLogging(builder => builder.AddConsole())
.AddSingleton<IConfiguration>(configuration)
.AddSingleton(client)
.AddSingleton(new InteractionService(client, new InteractionServiceConfig
{
LogLevel = LogSeverity.Info,
UseCompiledLambda = true,
}))
.AddSingleton<BotService>();
var serviceProvider = services.BuildServiceProvider();
var botService = serviceProvider.GetRequiredService<BotService>();
var interactionService = serviceProvider.GetRequiredService<InteractionService>();
// Register command modules
await interactionService.AddModulesAsync(
typeof(Program).Assembly,
serviceProvider);
// Initialize the bot
await botService.InitializeAsync();
// Keep the bot running
await Task.Delay(Timeout.Infinite);