aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2020-09-10 05:58:24 -0400
committerRapptz <[email protected]>2020-09-23 03:21:19 -0400
commitad917ca02d42e153802989fa6a97cc05f9439cb5 (patch)
treecbcc0827c2038cf061f71af913a015001e8c9bff
parentAdd Guild.chunk and deprecated Client.request_offline_members (diff)
downloaddiscord.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.py5
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