aboutsummaryrefslogtreecommitdiff
path: root/discord/member.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2020-09-04 08:32:02 -0400
committerRapptz <[email protected]>2020-09-23 03:21:16 -0400
commitc261f7c4a35cfc9258036793bfa8b7d4315f2547 (patch)
tree48f36f783ccb41ec0a18e51e875033f1835e75da /discord/member.py
parentRewrite chunking to work with intents. (diff)
downloaddiscord.py-c261f7c4a35cfc9258036793bfa8b7d4315f2547.tar.xz
discord.py-c261f7c4a35cfc9258036793bfa8b7d4315f2547.zip
Handle user updates within GUILD_MEMBER_UPDATE
Diffstat (limited to 'discord/member.py')
-rw-r--r--discord/member.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/discord/member.py b/discord/member.py
index dbcbc492..00f72fb2 100644
--- a/discord/member.py
+++ b/discord/member.py
@@ -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."""