mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-19 15:36:02 +00:00
Bump waiting time of GUILD_CREATE stream by number of shards waited.
2 seconds might be too short and cause it to finish waiting while other shards are still IDENTIFYing.
This commit is contained in:
parent
8767c478ed
commit
5c7df3d943
@ -251,6 +251,7 @@ class AutoShardedClient(Client):
|
||||
self._connection.shard_count = self.shard_count
|
||||
|
||||
shard_ids = self.shard_ids if self.shard_ids else range(self.shard_count)
|
||||
self._connection.shard_ids = shard_ids
|
||||
|
||||
for shard_id in shard_ids:
|
||||
await self.launch_shard(gateway, shard_id)
|
||||
|
@ -1029,6 +1029,7 @@ class AutoShardedConnectionState(ConnectionState):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self._ready_task = None
|
||||
self.shard_ids = ()
|
||||
|
||||
async def request_offline_members(self, guilds, *, shard_id):
|
||||
# get all the chunks
|
||||
@ -1051,10 +1052,10 @@ class AutoShardedConnectionState(ConnectionState):
|
||||
async def _delay_ready(self):
|
||||
launch = self._ready_state.launch
|
||||
while True:
|
||||
# this snippet of code is basically waiting 2 seconds
|
||||
# this snippet of code is basically waiting 2 * shard_ids seconds
|
||||
# until the last GUILD_CREATE was sent
|
||||
try:
|
||||
await asyncio.wait_for(launch.wait(), timeout=2.0)
|
||||
await asyncio.wait_for(launch.wait(), timeout=2.0 * len(self.shard_ids))
|
||||
except asyncio.TimeoutError:
|
||||
break
|
||||
else:
|
||||
|
Loading…
x
Reference in New Issue
Block a user