diff --git a/src/Discord.Net/DiscordSocketClient.cs b/src/Discord.Net/DiscordSocketClient.cs index d21687212..a2117a846 100644 --- a/src/Discord.Net/DiscordSocketClient.cs +++ b/src/Discord.Net/DiscordSocketClient.cs @@ -163,6 +163,10 @@ namespace Discord if (LoginState != LoginState.LoggedIn) throw new InvalidOperationException("You must log in before connecting."); + var state = ConnectionState; + if (state == ConnectionState.Connecting || state == ConnectionState.Connected) + await DisconnectInternalAsync().ConfigureAwait(false); + ConnectionState = ConnectionState.Connecting; await _gatewayLogger.InfoAsync("Connecting"); try