diff options
| author | Rapptz <[email protected]> | 2019-04-08 07:43:55 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2019-04-08 07:45:05 -0400 |
| commit | 61ee88b0fc48ba2bfc479bccec0e99a92c05fa1d (patch) | |
| tree | d98847fb17a444a2231077f4c0c849421591026d | |
| parent | Fix long-standing issue with user updates not dispatching properly. (diff) | |
| download | discord.py-61ee88b0fc48ba2bfc479bccec0e99a92c05fa1d.tar.xz discord.py-61ee88b0fc48ba2bfc479bccec0e99a92c05fa1d.zip | |
Fix oversight where on_disconnect did not get called on WS termination.
| -rw-r--r-- | discord/client.py | 1 | ||||
| -rw-r--r-- | discord/shard.py | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/discord/client.py b/discord/client.py index 2817ecc0..7ae87a4e 100644 --- a/discord/client.py +++ b/discord/client.py @@ -382,6 +382,7 @@ class Client: await self.ws.poll_event() except ResumeWebSocket: log.info('Got a request to RESUME the websocket.') + self.dispatch('disconnect') coro = DiscordWebSocket.from_client(self, shard_id=self.shard_id, session=self.ws.session_id, sequence=self.ws.sequence, resume=True) self.ws = await asyncio.wait_for(coro, timeout=180.0, loop=self.loop) diff --git a/discord/shard.py b/discord/shard.py index 3bf3788b..b15b22a2 100644 --- a/discord/shard.py +++ b/discord/shard.py @@ -43,6 +43,7 @@ class Shard: def __init__(self, ws, client): self.ws = ws self._client = client + self._dispatch = client.dispatch self.loop = self._client.loop self._current = self.loop.create_future() self._current.set_result(None) # we just need an already done future @@ -79,6 +80,7 @@ class Shard: log.info('Got a request to RESUME the websocket at Shard ID %s.', self.id) coro = DiscordWebSocket.from_client(self._client, resume=True, shard_id=self.id, session=self.ws.session_id, sequence=self.ws.sequence) + self._dispatch('disconnect') self.ws = await asyncio.wait_for(coro, timeout=180.0, loop=self.loop) def get_future(self): |