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; } }