aboutsummaryrefslogtreecommitdiff
path: root/discord/guild.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2020-09-14 02:52:53 -0400
committerRapptz <[email protected]>2020-09-23 03:21:20 -0400
commit23ae084b8cb3bb5c9d815b791c1a94b0cf53e516 (patch)
tree2b50eb9d05bf3bb1d06d2d78d52fdca276e76e14 /discord/guild.py
parentRaise if member intent is not enabled (diff)
downloaddiscord.py-23ae084b8cb3bb5c9d815b791c1a94b0cf53e516.tar.xz
discord.py-23ae084b8cb3bb5c9d815b791c1a94b0cf53e516.zip
Allow finer grained control over the member cache.
Diffstat (limited to 'discord/guild.py')
-rw-r--r--discord/guild.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/discord/guild.py b/discord/guild.py
index 2ab4afb2..4247f105 100644
--- a/discord/guild.py
+++ b/discord/guild.py
@@ -305,11 +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
+ cache_online_members = self._state._member_cache_flags.online
+ cache_joined = self._state._member_cache_flags.joined
self_id = self._state.self_id
for mdata in guild.get('members', []):
member = Member(data=mdata, guild=self, state=state)
- if cache_members or member.id == self_id:
+ if cache_joined or (cache_online_members and member.raw_status != 'offline') or member.id == self_id:
self._add_member(member)
self._sync(guild)