76 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|