Fix issue with shard_ready
not dispatching when not fetching offline
This commit is contained in:
parent
6cdda4a320
commit
f95ccf53e0
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user