diff options
| author | Rapptz <[email protected]> | 2020-09-04 08:32:02 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-09-23 03:21:16 -0400 |
| commit | c261f7c4a35cfc9258036793bfa8b7d4315f2547 (patch) | |
| tree | 48f36f783ccb41ec0a18e51e875033f1835e75da /discord/member.py | |
| parent | Rewrite chunking to work with intents. (diff) | |
| download | discord.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.py | 21 |
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.""" |