Handle user updates within GUILD_MEMBER_UPDATE
This commit is contained in:
parent
95bec0dcee
commit
e8e4886fd8
@ -266,6 +266,10 @@ class Member(discord.abc.Messageable, _BaseUser):
|
||||
self._client_status[None] = data['status']
|
||||
|
||||
if len(user) > 1:
|
||||
return self._update_inner_user(user)
|
||||
return False
|
||||
|
||||
def _update_inner_user(self, user):
|
||||
u = self._user
|
||||
original = (u.name, u.avatar, u.discriminator)
|
||||
# These keys seem to always be available
|
||||
@ -275,7 +279,6 @@ class Member(discord.abc.Messageable, _BaseUser):
|
||||
u.name, u.avatar, u.discriminator = modified
|
||||
# Signal to dispatch on_user_update
|
||||
return to_return, u
|
||||
return False
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
|
@ -692,8 +692,12 @@ class ConnectionState:
|
||||
|
||||
member = guild.get_member(user_id)
|
||||
if member is not None:
|
||||
old_member = copy.copy(member)
|
||||
old_member = Member._copy(member)
|
||||
member._update(data)
|
||||
user_update = member._update_inner_user(user)
|
||||
if user_update:
|
||||
self.dispatch('user_update', user_update[0], user_update[1])
|
||||
|
||||
self.dispatch('member_update', old_member, member)
|
||||
else:
|
||||
log.debug('GUILD_MEMBER_UPDATE referencing an unknown member ID: %s. Discarding.', user_id)
|
||||
|
Loading…
x
Reference in New Issue
Block a user