aboutsummaryrefslogtreecommitdiff
path: root/discord/guild.py
diff options
context:
space:
mode:
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)