From 3d9dadaaae20713cf508b26ee7deb07f3a4891e5 Mon Sep 17 00:00:00 2001 From: RogueException Date: Fri, 25 Dec 2015 23:11:55 -0400 Subject: [PATCH] Added handling of opcode-less messages --- src/Discord.Net/API/Client/IWebSocketMessage.cs | 2 +- src/Discord.Net/Net/WebSockets/GatewaySocket.cs | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net/API/Client/IWebSocketMessage.cs b/src/Discord.Net/API/Client/IWebSocketMessage.cs index 2d1fc8e0c..cb1285107 100644 --- a/src/Discord.Net/API/Client/IWebSocketMessage.cs +++ b/src/Discord.Net/API/Client/IWebSocketMessage.cs @@ -11,7 +11,7 @@ namespace Discord.API.Client public class WebSocketMessage { [JsonProperty("op")] - public int Operation { get; set; } + public int? Operation { get; set; } [JsonProperty("t", NullValueHandling = NullValueHandling.Ignore)] public string Type { get; set; } [JsonProperty("s", NullValueHandling = NullValueHandling.Ignore)] diff --git a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs index 9e4fd573e..14da0fc10 100644 --- a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs +++ b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs @@ -77,7 +77,7 @@ namespace Discord.Net.WebSockets if (msg.Sequence.HasValue) _lastSequence = msg.Sequence.Value; - var opCode = (OpCodes)msg.Operation; + var opCode = (OpCodes?)msg.Operation; switch (opCode) { case OpCodes.Dispatch: @@ -111,8 +111,11 @@ namespace Discord.Net.WebSockets } break; default: - Logger.Warning($"Unknown Opcode: {opCode}"); - break; + if (opCode != null) + Logger.Warning($"Unknown Opcode: {opCode}"); + else + Logger.Warning($"Received message with no opcode"); + break; } }