diff options
Diffstat (limited to 'discord/state.py')
| -rw-r--r-- | discord/state.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/discord/state.py b/discord/state.py index ab3f2ac7..3d420a0a 100644 --- a/discord/state.py +++ b/discord/state.py @@ -461,11 +461,14 @@ class ConnectionState: # skip these useless cases. return - member = Member(guild=guild, data=data, state=self) + member, old_member = Member._from_presence_update(guild=guild, data=data, state=self) guild._add_member(member) + else: + old_member = Member._copy(member) + user_update = member._presence_update(data=data, user=user) + if user_update: + self.dispatch('user_update', user_update[0], user_update[1]) - old_member = Member._copy(member) - member._presence_update(data=data, user=user) self.dispatch('member_update', old_member, member) def parse_user_update(self, data): |