|
@@ -57,17 +57,18 @@ namespace Discord |
|
|
|
|
|
|
|
|
public async Task LeaveVoiceServer(Server server) |
|
|
public async Task LeaveVoiceServer(Server server) |
|
|
{ |
|
|
{ |
|
|
if (server == null) throw new ArgumentNullException(nameof(server)); |
|
|
|
|
|
CheckReady(checkVoice: true); |
|
|
|
|
|
|
|
|
if (server == null) throw new ArgumentNullException(nameof(server)); |
|
|
|
|
|
|
|
|
if (Config.EnableVoiceMultiserver) |
|
|
if (Config.EnableVoiceMultiserver) |
|
|
{ |
|
|
{ |
|
|
|
|
|
//client.CheckReady(); |
|
|
DiscordWSClient client; |
|
|
DiscordWSClient client; |
|
|
if (_voiceClients.TryRemove(server.Id, out client)) |
|
|
if (_voiceClients.TryRemove(server.Id, out client)) |
|
|
await client.Disconnect().ConfigureAwait(false); |
|
|
await client.Disconnect().ConfigureAwait(false); |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
|
|
|
CheckReady(checkVoice: true); |
|
|
await _voiceSocket.Disconnect().ConfigureAwait(false); |
|
|
await _voiceSocket.Disconnect().ConfigureAwait(false); |
|
|
_dataSocket.SendLeaveVoice(server.Id); |
|
|
_dataSocket.SendLeaveVoice(server.Id); |
|
|
} |
|
|
} |
|
|