Handle user updates within GUILD_MEMBER_UPDATE

This commit is contained in:
Rapptz
2020-09-04 08:32:02 -04:00
parent 930761e058
commit c261f7c4a3
2 changed files with 17 additions and 10 deletions

View File

@@ -272,17 +272,20 @@ class Member(discord.abc.Messageable, _BaseUser):
self._client_status[None] = data['status']
if len(user) > 1:
u = self._user
original = (u.name, u.avatar, u.discriminator)
# These keys seem to always be available
modified = (user['username'], user['avatar'], user['discriminator'])
if original != modified:
to_return = User._copy(self._user)
u.name, u.avatar, u.discriminator = modified
# Signal to dispatch on_user_update
return to_return, u
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
modified = (user['username'], user['avatar'], user['discriminator'])
if original != modified:
to_return = User._copy(self._user)
u.name, u.avatar, u.discriminator = modified
# Signal to dispatch on_user_update
return to_return, u
@property
def status(self):
""":class:`Status`: The member's overall status. If the value is unknown, then it will be a :class:`str` instead."""