| @@ -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 | |||
| @@ -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 | |||
| @@ -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; | |||
| @@ -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)); | |||