C#Discord.net Bot在加入语音频道后断开连接

C#Discord.net Bot在加入语音频道后断开连接,c#,discord.net,C#,Discord.net,我编写了一个discord bot,我希望它在用户加入语音频道后加入语音频道,但它所做的是加入它,等待一秒钟,然后断开连接,控制台中弹出以下错误: System.TimeoutException: The operation has timed out. at Discord.WebSocket.SocketGuild.ConnectAudioAsync(UInt64 channelId, Boolean selfDeaf, Boolean selfMute, Boolean extern

我编写了一个discord bot,我希望它在用户加入语音频道后加入语音频道,但它所做的是加入它,等待一秒钟,然后断开连接,控制台中弹出以下错误:

System.TimeoutException: The operation has timed out.
   at Discord.WebSocket.SocketGuild.ConnectAudioAsync(UInt64 channelId, Boolean selfDeaf, Boolean selfMute, Boolean external)
   at Discord.WebSocket.SocketGuild.ConnectAudioAsync(UInt64 channelId, Boolean selfDeaf, Boolean selfMute, Boolean external)
   at Discord.WebSocket.SocketVoiceChannel.ConnectAsync(Boolean selfDeaf, Boolean selfMute, Boolean external)
   at DiscordBot2.Program.ConnectToVoice(SocketVoiceChannel voiceChannel)
   at DiscordBot2.Program.OnVoiceStateUpdated(SocketUser user, SocketVoiceState state1, SocketVoiceState state2)
以下是我使用的代码:

//在调用StartAsync之前调用
_client.UserVoiceStateUpdated+=OnVoiceStateUpdated;
VoiceState更新的专用异步任务(SocketUser用户、SocketVoiceState状态1、SocketVoiceState状态2)
{
//检查这是否是加入语音频道的非机器人用户
if(user.IsBot)
返回;
if(state1.VoiceChannel==null&&state2.VoiceChannel!=null)
{
尝试
{
等待连接语音(状态2.语音频道);
}
捕获(例外e)
{
控制台写入线(e);
}
}
}
专用异步任务ConnectToVoice(SocketVoiceChannel voiceChannel)
{
如果(语音通道==null)
返回;
WriteLine($“连接到通道{voiceChannel.Id}”);
var connection=await voiceChannel.ConnectAsync();
WriteLine($”连接到通道{voiceChannel.Id});
}