aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/state.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/discord/state.py b/discord/state.py
index 8209dbfd..f5ca1181 100644
--- a/discord/state.py
+++ b/discord/state.py
@@ -492,7 +492,8 @@ class ConnectionState:
members = data.get('members', [])
for member in members:
m = self._make_member(server, member)
- if m.id not in server._members:
+ existing = server.get_member(m.id)
+ if existing is None or existing.joined_at is None:
server._add_member(m)
# if the owner is offline, server.owner is potentially None