Push an error to the log if an event was failed to be processed

This commit is contained in:
RogueException
2015-10-01 12:05:19 -03:00
parent 8781ecf44a
commit 45e41af294
2 changed files with 28 additions and 14 deletions

View File

@@ -337,6 +337,8 @@ namespace Discord
internal override async Task OnReceivedEvent(WebSocketEventEventArgs e) internal override async Task OnReceivedEvent(WebSocketEventEventArgs e)
{ {
try
{
await base.OnReceivedEvent(e); await base.OnReceivedEvent(e);
switch (e.Type) switch (e.Type)
@@ -682,6 +684,11 @@ namespace Discord
default: default:
RaiseOnLog(LogMessageSeverity.Warning, LogMessageSource.DataWebSocket, $"Unknown message type: {e.Type}"); RaiseOnLog(LogMessageSeverity.Warning, LogMessageSource.DataWebSocket, $"Unknown message type: {e.Type}");
break; break;
}
}
catch (Exception ex)
{
RaiseOnLog(LogMessageSeverity.Error, LogMessageSource.Client, $"Error handling {e.Type} event: {ex.GetBaseException().Message}");
} }
} }

View File

@@ -289,23 +289,30 @@ namespace Discord
internal virtual Task OnReceivedEvent(WebSocketEventEventArgs e) internal virtual Task OnReceivedEvent(WebSocketEventEventArgs e)
{ {
switch (e.Type) try
{ {
case "READY": switch (e.Type)
_currentUserId = e.Payload["user"].Value<string>("id"); {
break; case "READY":
case "VOICE_SERVER_UPDATE": _currentUserId = e.Payload["user"].Value<string>("id");
{ break;
string guildId = e.Payload.Value<string>("guild_id"); case "VOICE_SERVER_UPDATE":
if (_enableVoice && guildId == _voiceSocket.CurrentServerId)
{ {
string token = e.Payload.Value<string>("token"); string guildId = e.Payload.Value<string>("guild_id");
_voiceSocket.Host = "wss://" + e.Payload.Value<string>("endpoint").Split(':')[0];
return _voiceSocket.Login(_currentUserId, _dataSocket.SessionId, token, CancelToken); if (_enableVoice && guildId == _voiceSocket.CurrentServerId)
{
string token = e.Payload.Value<string>("token");
_voiceSocket.Host = "wss://" + e.Payload.Value<string>("endpoint").Split(':')[0];
return _voiceSocket.Login(_currentUserId, _dataSocket.SessionId, token, CancelToken);
}
} }
} break;
break; }
}
catch (Exception ex)
{
RaiseOnLog(LogMessageSeverity.Error, LogMessageSource.Client, $"Error handling {e.Type} event: {ex.GetBaseException().Message}");
} }
return TaskHelper.CompletedTask; return TaskHelper.CompletedTask;
} }