diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index 2b771fe46..08bc2593f 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -374,8 +374,6 @@ namespace Discord _webSocket.Connected += (s, e) => RaiseConnected(); _webSocket.Disconnected += async (s, e) => { - if (_config.EnableDebug) - RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket disconnected."); RaiseDisconnected(); //Reconnect if we didn't cause the disconnect @@ -385,14 +383,8 @@ namespace Discord { await Task.Delay(_config.ReconnectDelay); await _webSocket.ReconnectAsync(); - if (_config.EnableDebug) - RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket connected."); if (_http.Token != null) - { await _webSocket.Login(_http.Token); - if (_config.EnableDebug) - RaiseOnDebugMessage(DebugMessageType.Connection, $"DataSocket logged in."); - } break; } catch (Exception ex) @@ -404,7 +396,7 @@ namespace Discord } }; if (_config.EnableDebug) - _webSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, e.Message); + _voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, $"DataSocket: {e.Message}"); #if !DNXCORE50 if (_config.EnableVoice) @@ -413,8 +405,6 @@ namespace Discord _voiceWebSocket.Connected += (s, e) => RaiseVoiceConnected(); _voiceWebSocket.Disconnected += async (s, e) => { - if (_config.EnableDebug) - RaiseOnDebugMessage(DebugMessageType.Connection, $"VoiceSocket disconnected."); RaiseVoiceDisconnected(); //Reconnect if we didn't cause the disconnect @@ -423,8 +413,6 @@ namespace Discord try { await Task.Delay(_config.ReconnectDelay); - if (_config.EnableDebug) - RaiseOnDebugMessage(DebugMessageType.Connection, $"VoiceSocket connected."); await _voiceWebSocket.ReconnectAsync(); break; } @@ -438,7 +426,7 @@ namespace Discord } }; if (_config.EnableDebug) - _voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, e.Message); + _voiceWebSocket.OnDebugMessage += (s, e) => RaiseOnDebugMessage(e.Type, $"VoiceSocket: {e.Message}"); } #endif diff --git a/src/Discord.Net/DiscordDataSocket.cs b/src/Discord.Net/DiscordDataSocket.cs index 605c71683..7631860ab 100644 --- a/src/Discord.Net/DiscordDataSocket.cs +++ b/src/Discord.Net/DiscordDataSocket.cs @@ -46,6 +46,9 @@ namespace Discord } try { _connectWaitOnLogin2.Wait(cancelToken); } //Waiting on READY handler catch (OperationCanceledException) { return; } + + if (_isDebug) + RaiseOnDebugMessage(DebugMessageType.Connection, $"Logged in."); SetConnected(); } @@ -72,7 +75,7 @@ namespace Discord break; default: if (_isDebug) - RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown DataSocket op: " + msg.Operation); + RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation); break; } #if DNXCORE diff --git a/src/Discord.Net/DiscordVoiceSocket.cs b/src/Discord.Net/DiscordVoiceSocket.cs index f8411b0bc..4b50805ad 100644 --- a/src/Discord.Net/DiscordVoiceSocket.cs +++ b/src/Discord.Net/DiscordVoiceSocket.cs @@ -288,7 +288,7 @@ namespace Discord #endif default: if (_isDebug) - RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown VoiceSocket op: " + msg.Operation); + RaiseOnDebugMessage(DebugMessageType.WebSocketUnknownOpCode, "Unknown Opcode: " + msg.Operation); break; } #if DNXCORE50 @@ -306,7 +306,11 @@ namespace Discord { _isReady = true; if (length != 70) - throw new Exception($"Unexpected message length. Expected 70, got {length}."); + { + if (_isDebug) + RaiseOnDebugMessage(DebugMessageType.VoiceInput, $"Unexpected message length. Expected >= 70, got {length}."); + return; + } int port = buffer[68] | buffer[69] << 8; diff --git a/src/Discord.Net/DiscordWebSocket.cs b/src/Discord.Net/DiscordWebSocket.cs index e2b666f49..3dfd75b50 100644 --- a/src/Discord.Net/DiscordWebSocket.cs +++ b/src/Discord.Net/DiscordWebSocket.cs @@ -48,11 +48,17 @@ namespace Discord await _webSocket.ConnectAsync(new Uri(url), cancelToken); _host = url; + if (_isDebug) + RaiseOnDebugMessage(DebugMessageType.Connection, $"Connected."); + OnConnect(); _lastHeartbeat = DateTime.UtcNow; _tasks = Task.Factory.ContinueWhenAll(CreateTasks(), x => { + if (_isDebug) + RaiseOnDebugMessage(DebugMessageType.Connection, $"Disconnected."); + //Do not clean up until all tasks have ended OnDisconnect(); @@ -125,7 +131,8 @@ namespace Discord if (result.MessageType == WebSocketMessageType.Close) { await _webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None); - return; + RaiseOnDebugMessage(DebugMessageType.Connection, $"Got Close Message ({result.CloseStatus?.ToString() ?? "Unexpected"}, {result.CloseStatusDescription ?? "No Reason"})"); + return; } else builder.Append(Encoding.UTF8.GetString(buffer, 0, result.Count));