From a8264f654092ed117564d5cd709aac7d4fee8ea9 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sat, 24 Dec 2016 17:32:07 -0500 Subject: [PATCH] Chunk every guild if it's a user bot. This also increases the timeout for chunking by 30 seconds for every chunk we're waiting for. --- discord/state.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/discord/state.py b/discord/state.py index 48a75a473..60e9e5f58 100644 --- a/discord/state.py +++ b/discord/state.py @@ -187,7 +187,7 @@ class ConnectionState: # wait for the chunks if chunks: try: - yield from asyncio.wait(chunks, timeout=len(chunks), loop=self.loop) + yield from asyncio.wait(chunks, timeout=len(chunks) * 30.0, loop=self.loop) except asyncio.TimeoutError: log.info('Somehow timed out waiting for chunks.') @@ -199,7 +199,8 @@ class ConnectionState: # call GUILD_SYNC after we're done chunking if not self.is_bot: - compat.create_task(self.syncer([s.id for s in self.servers]), loop=self.loop) + log.info('Requesting GUILD_SYNC for %s guilds' % len(self.servers)) + yield from self.syncer([s.id for s in self.servers]) # dispatch the event self.dispatch('ready') @@ -212,7 +213,7 @@ class ConnectionState: servers = self._ready_state.servers for guild in guilds: server = self._add_server_from_data(guild) - if not self.is_bot and server.large: + if not self.is_bot or server.large: servers.append(server) for pm in data.get('private_channels'):