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
|
self._connection.shard_count = self.shard_count
|
||||||
|
|
||||||
shard_ids = self.shard_ids if self.shard_ids else range(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:
|
for shard_id in shard_ids:
|
||||||
await self.launch_shard(gateway, shard_id)
|
await self.launch_shard(gateway, shard_id)
|
||||||
|
@ -1029,6 +1029,7 @@ class AutoShardedConnectionState(ConnectionState):
|
|||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self._ready_task = None
|
self._ready_task = None
|
||||||
|
self.shard_ids = ()
|
||||||
|
|
||||||
async def request_offline_members(self, guilds, *, shard_id):
|
async def request_offline_members(self, guilds, *, shard_id):
|
||||||
# get all the chunks
|
# get all the chunks
|
||||||
@ -1051,10 +1052,10 @@ class AutoShardedConnectionState(ConnectionState):
|
|||||||
async def _delay_ready(self):
|
async def _delay_ready(self):
|
||||||
launch = self._ready_state.launch
|
launch = self._ready_state.launch
|
||||||
while True:
|
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
|
# until the last GUILD_CREATE was sent
|
||||||
try:
|
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:
|
except asyncio.TimeoutError:
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user