Fixed DiscordClient.Disconnect

This commit is contained in:
RogueException
2015-12-27 16:20:40 -04:00
parent 58ddcbbf4a
commit 3a074c4c04
2 changed files with 50 additions and 46 deletions

View File

@@ -265,15 +265,18 @@ namespace Discord
}
/// <summary> Disconnects from the Discord server, canceling any pending requests. </summary>
public Task Disconnect() => _taskManager.Stop(true);
private async Task Cleanup()
public async Task Disconnect()
{
if (State == ConnectionState.Connected)
await ClientAPI.Send(new LogoutRequest()).ConfigureAwait(false);
await _taskManager.Stop(true).ConfigureAwait(false);
}
private Task Cleanup()
{
State = ConnectionState.Disconnecting;
if (Config.UseMessageQueue)
MessageQueue.Clear();
await ClientAPI.Send(new LogoutRequest()).ConfigureAwait(false);
ClientAPI.Token = null;
GatewaySocket.Token = null;
@@ -287,6 +290,7 @@ namespace Discord
State = (int)ConnectionState.Disconnected;
_connectedEvent.Reset();
_disconnectedEvent.Set();
return TaskHelper.CompletedTask;
}
public Task SetStatus(UserStatus status)