aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/state.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/discord/state.py b/discord/state.py
index 08222aa4..ca7afcbe 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]