diff options
| author | Rapptz <[email protected]> | 2020-09-10 05:58:24 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-09-23 03:21:19 -0400 |
| commit | ad917ca02d42e153802989fa6a97cc05f9439cb5 (patch) | |
| tree | cbcc0827c2038cf061f71af913a015001e8c9bff | |
| parent | Add Guild.chunk and deprecated Client.request_offline_members (diff) | |
| download | discord.py-ad917ca02d42e153802989fa6a97cc05f9439cb5.tar.xz discord.py-ad917ca02d42e153802989fa6a97cc05f9439cb5.zip | |
Don't cache members during guild start up if cache is disabled.
This is mainly a half-implemented commit. There are a few more places
where cache consistency is necessary. In the future there will
probably be a member cache policy enum that will be used and cache
consistency will be tackled in part of that larger refactoring.
| -rw-r--r-- | discord/guild.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/discord/guild.py b/discord/guild.py index fcc4e4b3..1c4b64ec 100644 --- a/discord/guild.py +++ b/discord/guild.py @@ -305,9 +305,12 @@ class Guild(Hashable): self._rules_channel_id = utils._get_as_snowflake(guild, 'rules_channel_id') self._public_updates_channel_id = utils._get_as_snowflake(guild, 'public_updates_channel_id') + cache_members = self._state._cache_members + self_id = self._state.self_id for mdata in guild.get('members', []): member = Member(data=mdata, guild=self, state=state) - self._add_member(member) + if cache_members or member.id == self_id: + self._add_member(member) self._sync(guild) self._large = None if member_count is None else self._member_count >= 250 |