diff options
| author | NCPlayz <[email protected]> | 2020-01-13 21:32:39 +0000 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-01-14 19:39:34 -0500 |
| commit | f95ccf53e017931c97fc11a6039998ef9eb53e9e (patch) | |
| tree | 4699415850597518a77a8fd3fcb2d3cc48f1810c /discord | |
| parent | Patch clean_prefix for new text editor (diff) | |
| download | discord.py-f95ccf53e017931c97fc11a6039998ef9eb53e9e.tar.xz discord.py-f95ccf53e017931c97fc11a6039998ef9eb53e9e.zip | |
Fix issue with `shard_ready` not dispatching when not fetching offline
Diffstat (limited to 'discord')
| -rw-r--r-- | discord/state.py | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/discord/state.py b/discord/state.py index 10208d3b..5c9f7df4 100644 --- a/discord/state.py +++ b/discord/state.py @@ -1026,25 +1026,19 @@ class AutoShardedConnectionState(ConnectionState): launch.set() await asyncio.sleep(2.0 * self.shard_count) - if self._fetch_offline: - guilds = sorted(self._ready_state.guilds, key=lambda g: g[0].shard_id) + guilds = sorted(self._ready_state.guilds, key=lambda g: g[0].shard_id) - for shard_id, sub_guilds_info in itertools.groupby(guilds, key=lambda g: g[0].shard_id): - sub_guilds, sub_available = zip(*sub_guilds_info) + for shard_id, sub_guilds_info in itertools.groupby(guilds, key=lambda g: g[0].shard_id): + sub_guilds, sub_available = zip(*sub_guilds_info) + if self._fetch_offline: await self.request_offline_members(sub_guilds, shard_id=shard_id) - for guild, unavailable in zip(sub_guilds, sub_available): - if unavailable is False: - self.dispatch('guild_available', guild) - else: - self.dispatch('guild_join', guild) - self.dispatch('shard_ready', shard_id) - else: - for guild, unavailable in self._ready_state.guilds: + for guild, unavailable in zip(sub_guilds, sub_available): if unavailable is False: self.dispatch('guild_available', guild) else: self.dispatch('guild_join', guild) + self.dispatch('shard_ready', shard_id) # remove the state try: |