diff --git a/Nb1XBot.cs b/Nb1XBot.cs index 2693f17..6d5a030 100644 --- a/Nb1XBot.cs +++ b/Nb1XBot.cs @@ -18,7 +18,10 @@ class Program { var config = new DiscordSocketConfig() { - GatewayIntents = GatewayIntents.AllUnprivileged | GatewayIntents.MessageContent | GatewayIntents.GuildVoiceStates, + GatewayIntents = GatewayIntents.AllUnprivileged + | GatewayIntents.MessageContent + | GatewayIntents.GuildVoiceStates, + EnableVoiceDaveEncryption = true }; @@ -31,7 +34,7 @@ class Program if (string.IsNullOrEmpty(token)) { - Console.WriteLine("[Error] Discord token is missing from the environment variables."); + Console.WriteLine("[Error] DISCORD_TOKEN is missing."); return; } @@ -43,7 +46,7 @@ class Program private Task LogAsync(LogMessage message) { - Console.WriteLine($"[Discord] {message.ToString()}"); + Console.WriteLine($"[Discord] {message}"); return Task.CompletedTask; } @@ -51,7 +54,21 @@ class Program { Console.WriteLine($"[Client] Connected successfully as {_client.CurrentUser}."); - _ = _client.SetGameAsync("Among Us", "https://twitch.tv/mon_pseudo_twitch", ActivityType.Streaming); + var status = Environment.GetEnvironmentVariable("BOT_STATUS") ?? "Among Us"; + var streamUrl = Environment.GetEnvironmentVariable("BOT_STREAM_URL"); + + if (!string.IsNullOrEmpty(streamUrl)) + { + _ = _client.SetGameAsync( + status, + streamUrl, + ActivityType.Streaming + ); + } + else + { + _ = _client.SetGameAsync(status); + } _ = Task.Run(async () => { @@ -59,10 +76,21 @@ class Program { await Task.Delay(2000); - ulong guildId = 1536666691923353703; - ulong vocalId = 1540346109967208598; + var guildId = ulong.Parse( + Environment.GetEnvironmentVariable("GUILD_ID") + ?? throw new InvalidOperationException("GUILD_ID is missing.") + ); - await VocalManager.ConnectToVoiceChannelAsync(_client, guildId, vocalId); + var voiceId = ulong.Parse( + Environment.GetEnvironmentVariable("VOICE_CHANNEL_ID") + ?? throw new InvalidOperationException("VOICE_CHANNEL_ID is missing.") + ); + + await VocalManager.ConnectToVoiceChannelAsync( + _client, + guildId, + voiceId + ); } catch (Exception ex) {