From 45f342ff79cb17668ce9df4f9939cf624f896764 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 20 Nov 2019 01:41:23 -0500 Subject: [PATCH] Fix regression with references being overwritten from the cache. A proper fix for this would be to just request presence information as well since the chunk request would probably be more up to date than the current cache. However this delta requires a little bit more work and will be done later. --- discord/state.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/discord/state.py b/discord/state.py index 08222aa48..ca7afcbef 100644 --- a/discord/state.py +++ b/discord/state.py @@ -842,7 +842,9 @@ class ConnectionState: log.info('Processed a chunk for %s members in guild ID %s.', len(members), guild_id) if self._cache_members: for member in members: - guild._add_member(member) + existing = guild.get_member(member.id) + if existing is None or existing.joined_at is None: + guild._add_member(member) self.process_listeners(ListenerType.chunk, guild, len(members)) names = [x.name.lower() for x in members]