Skip to content

Commit 7418cd4

Browse files
authored
Merge pull request #1559 from Dorukyum/resume_gateway_url
Implement `resume_gateway_url`
2 parents 9ebeaca + f71b47f commit 7418cd4

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

discord/gateway.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ def __init__(self, socket, *, loop):
292292
# ws related stuff
293293
self.session_id = None
294294
self.sequence = None
295+
self.resume_gateway_url = None
295296
self._zlib = zlib.decompressobj()
296297
self._buffer = bytearray()
297298
self._close_code = None
@@ -511,6 +512,7 @@ async def received_message(self, msg, /):
511512
self._trace = trace = data.get("_trace", [])
512513
self.sequence = msg["s"]
513514
self.session_id = data["session_id"]
515+
self.resume_gateway_url = data["resume_gateway_url"]
514516
# pass back shard ID to ready handler
515517
data["__shard_id__"] = self.shard_id
516518
_log.info(

discord/shard.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,11 @@ async def reidentify(self, exc: ReconnectWebSocket) -> None:
221221
async def reconnect(self) -> None:
222222
self._cancel_task()
223223
try:
224-
coro = DiscordWebSocket.from_client(self._client, shard_id=self.id)
224+
coro = DiscordWebSocket.from_client(
225+
self._client,
226+
gateway=self.ws.resume_gateway_url,
227+
shard_id=self.id,
228+
)
225229
self.ws = await asyncio.wait_for(coro, timeout=60.0)
226230
except self._handled_exceptions as e:
227231
await self._handle_disconnect(e)

0 commit comments

Comments
 (0)