public async Task UserVoiceStateUpdated(SocketUser user, SocketVoiceState from, SocketVoiceState to) { if (user.Id == discordClient.CurrentUser.Id) { var guildUser = user as SocketGuildUser; if (to.VoiceChannel != null && guildUser != null) { audioChannels[guildUser.Id] = to.VoiceChannel; Console.WriteLine(user.GetType()); Console.WriteLine(to.GetType()); Console.WriteLine($"To ID: {to.VoiceSessionId}"); guildUser.Guild.AudioClient.StreamCreated += StreamCreated; guildUser.Guild.AudioClient.SpeakingUpdated += SpeakingUpdated; } Console.WriteLine($"Bot voice state change: {user.Username}, to: {from}, from: {to}"); } }