mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-10-21 16:03:10 +00:00
Rewrite RESUME logic to be more in line with what is requested.
Apparently we should always try to RESUME first and if we get INVALIDATE_SESSION then we should IDENTIFY instead. This is the preferred way to do RESUMEs.
This commit is contained in:
@@ -361,17 +361,12 @@ class Client:
|
||||
while not self.is_closed():
|
||||
try:
|
||||
yield from self.ws.poll_event()
|
||||
except (ReconnectWebSocket, ResumeWebSocket) as e:
|
||||
resume = type(e) is ResumeWebSocket
|
||||
log.info('Got ' + type(e).__name__)
|
||||
|
||||
if not resume:
|
||||
self._ready.clear()
|
||||
|
||||
except ResumeWebSocket as e:
|
||||
log.info('Got a request to RESUME the websocket.')
|
||||
self.ws = yield from DiscordWebSocket.from_client(self, shard_id=self.shard_id,
|
||||
session=self.ws.session_id,
|
||||
sequence=self.ws.sequence,
|
||||
resume=resume)
|
||||
resume=True)
|
||||
except ConnectionClosed as e:
|
||||
yield from self.close()
|
||||
if e.code != 1000:
|
||||
|
Reference in New Issue
Block a user