Files
DiscordBot/Nb1XBot.cs
T
2026-08-21 15:52:36 +02:00

76 lines
1.9 KiB
C#

using System;
using System.Threading.Tasks;
using Discord;
using Discord.WebSocket;
using DotNetEnv;
class Program
{
private DiscordSocketClient _client;
static async Task Main(string[] args)
{
Env.Load();
await new Program().MainAsync();
}
public async Task MainAsync()
{
var config = new DiscordSocketConfig()
{
GatewayIntents = GatewayIntents.AllUnprivileged | GatewayIntents.MessageContent | GatewayIntents.GuildVoiceStates,
EnableVoiceDaveEncryption = true
};
_client = new DiscordSocketClient(config);
_client.Log += LogAsync;
_client.Ready += ReadyAsync;
var token = Environment.GetEnvironmentVariable("DISCORD_TOKEN");
if (string.IsNullOrEmpty(token))
{
Console.WriteLine("[Error] Discord token is missing from the environment variables.");
return;
}
await _client.LoginAsync(TokenType.Bot, token);
await _client.StartAsync();
await Task.Delay(-1);
}
private Task LogAsync(LogMessage message)
{
Console.WriteLine($"[Discord] {message.ToString()}");
return Task.CompletedTask;
}
private Task ReadyAsync()
{
Console.WriteLine($"[Client] Connected successfully as {_client.CurrentUser}.");
_ = _client.SetGameAsync("Among Us", "https://twitch.tv/mon_pseudo_twitch", ActivityType.Streaming);
_ = Task.Run(async () =>
{
try
{
await Task.Delay(2000);
ulong guildId = 1536666691923353703;
ulong vocalId = 1540346109967208598;
await VocalManager.ConnectToVoiceChannelAsync(_client, guildId, vocalId);
}
catch (Exception ex)
{
Console.WriteLine($"[Error] Background voice connection failed: {ex.Message}");
}
});
return Task.CompletedTask;
}
}