Skip to content

Commit 4d47436

Browse files
diceroll123Rapptz
authored andcommitted
Fix guild.chunk() not working on evicted guilds
If you're trying to chunk a guild that the bot is not in, it'll just hang on the chunk coro forever. It's weird, I know.
1 parent f50877c commit 4d47436

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

discord/guild.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2223,7 +2223,8 @@ async def chunk(self, *, cache=True):
22232223
if not self._state._intents.members:
22242224
raise ClientException('Intents.members must be enabled to use this.')
22252225

2226-
return await self._state.chunk_guild(self, cache=cache)
2226+
if not self._state.is_guild_evicted(self):
2227+
return await self._state.chunk_guild(self, cache=cache)
22272228

22282229
async def query_members(self, query=None, *, limit=5, user_ids=None, presences=False, cache=True):
22292230
"""|coro|

discord/state.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,9 @@ def _get_create_guild(self, data):
827827

828828
return self._add_guild_from_data(data)
829829

830+
def is_guild_evicted(self, guild) -> bool:
831+
return guild.id not in self._guilds
832+
830833
async def chunk_guild(self, guild, *, wait=True, cache=None):
831834
cache = cache or self.member_cache_flags.joined
832835
request = self._chunk_requests.get(guild.id)

0 commit comments

Comments
 (0)