diff --git a/src/Discord.Net.Net45/Discord.Net.csproj b/src/Discord.Net.Net45/Discord.Net.csproj
index b26180c07..56cd26bf7 100644
--- a/src/Discord.Net.Net45/Discord.Net.csproj
+++ b/src/Discord.Net.Net45/Discord.Net.csproj
@@ -199,8 +199,8 @@
API\Client\GatewaySocket\Events\Ready.cs
-
- API\Client\GatewaySocket\Events\Redirect.cs
+
+ API\Client\GatewaySocket\Events\Reconnect.cs
API\Client\GatewaySocket\Events\Resumed.cs
diff --git a/src/Discord.Net/API/Client/GatewaySocket/Commands/Identify.cs b/src/Discord.Net/API/Client/GatewaySocket/Commands/Identify.cs
index 8437f595c..f3141e56c 100644
--- a/src/Discord.Net/API/Client/GatewaySocket/Commands/Identify.cs
+++ b/src/Discord.Net/API/Client/GatewaySocket/Commands/Identify.cs
@@ -10,8 +10,6 @@ namespace Discord.API.Client.GatewaySocket
object IWebSocketMessage.Payload => this;
bool IWebSocketMessage.IsPrivate => false;
- [JsonProperty("v")]
- public int Version { get; set; }
[JsonProperty("token")]
public string Token { get; set; }
[JsonProperty("properties")]
diff --git a/src/Discord.Net/API/Client/GatewaySocket/Events/Reconnect.cs b/src/Discord.Net/API/Client/GatewaySocket/Events/Reconnect.cs
new file mode 100644
index 000000000..7ceaa3046
--- /dev/null
+++ b/src/Discord.Net/API/Client/GatewaySocket/Events/Reconnect.cs
@@ -0,0 +1,6 @@
+using Newtonsoft.Json;
+
+namespace Discord.API.Client.GatewaySocket
+{
+ public class ReconnectEvent { }
+}
diff --git a/src/Discord.Net/API/Client/GatewaySocket/Events/Redirect.cs b/src/Discord.Net/API/Client/GatewaySocket/Events/Redirect.cs
deleted file mode 100644
index fe9d644d4..000000000
--- a/src/Discord.Net/API/Client/GatewaySocket/Events/Redirect.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Newtonsoft.Json;
-
-namespace Discord.API.Client.GatewaySocket
-{
- public class RedirectEvent
- {
- [JsonProperty("url")]
- public string Url { get; set; }
- }
-}
diff --git a/src/Discord.Net/API/Client/GatewaySocket/OpCodes.cs b/src/Discord.Net/API/Client/GatewaySocket/OpCodes.cs
index 9942c670e..497b4d3e2 100644
--- a/src/Discord.Net/API/Client/GatewaySocket/OpCodes.cs
+++ b/src/Discord.Net/API/Client/GatewaySocket/OpCodes.cs
@@ -17,7 +17,7 @@
/// C→S - Used to resume a connection after a redirect occurs.
Resume = 6,
/// C←S - Used to notify a client that they must reconnect to another gateway.
- Redirect = 7,
+ Reconnect = 7,
/// C→S - Used to request all members that were withheld by large_threshold
RequestGuildMembers = 8
}
diff --git a/src/Discord.Net/API/Client/Rest/Gateway.cs b/src/Discord.Net/API/Client/Rest/Gateway.cs
index 02dd71008..c190fad7b 100644
--- a/src/Discord.Net/API/Client/Rest/Gateway.cs
+++ b/src/Discord.Net/API/Client/Rest/Gateway.cs
@@ -6,13 +6,13 @@ namespace Discord.API.Client.Rest
public class GatewayRequest : IRestRequest
{
string IRestRequest.Method => "GET";
- string IRestRequest.Endpoint => $"gateway";
+ string IRestRequest.Endpoint => $"gateway?encoding=json&v=4";
object IRestRequest.Payload => null;
}
-
+
public class GatewayResponse
- {
- [JsonProperty("url")]
- public string Url { get; set; }
+ {
+ [JsonProperty("url")]
+ public string Url { get; set; }
}
}
diff --git a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs
index 4afe5aae7..adc40897e 100644
--- a/src/Discord.Net/Net/WebSockets/GatewaySocket.cs
+++ b/src/Discord.Net/Net/WebSockets/GatewaySocket.cs
@@ -131,15 +131,10 @@ namespace Discord.Net.WebSockets
}
}
break;
- case OpCodes.Redirect:
+ case OpCodes.Reconnect:
{
- var payload = (msg.Payload as JToken).ToObject(_serializer);
- if (payload.Url != null)
- {
- Host = payload.Url;
- Logger.Info("Redirected to " + payload.Url);
- await Reconnect().ConfigureAwait(false);
- }
+ var payload = (msg.Payload as JToken).ToObject(_serializer);
+ await Reconnect().ConfigureAwait(false);
}
break;
default:
@@ -159,7 +154,6 @@ namespace Discord.Net.WebSockets
};
var msg = new IdentifyCommand()
{
- Version = 3,
Token = token,
Properties = props,
LargeThreshold = _config.LargeThreshold,