From 2474c9aefdfd4fbfd0ba23acfcf53b0747c04a6c Mon Sep 17 00:00:00 2001 From: dolfies Date: Fri, 17 Jun 2022 22:11:40 -0400 Subject: [PATCH] Fix ClientUser state disappearing (fixes #77 again) --- discord/state.py | 2 +- discord/user.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/discord/state.py b/discord/state.py index d64a08b6b..afb22de77 100644 --- a/discord/state.py +++ b/discord/state.py @@ -1059,7 +1059,7 @@ class ConnectionState: def parse_user_update(self, data: gw.UserUpdateEvent) -> None: if self.user: - self.user._update(data) + self.user._full_update(data) def parse_user_settings_update(self, data) -> None: new_settings = self.settings diff --git a/discord/user.py b/discord/user.py index 593d0d5dc..bd8339fa7 100644 --- a/discord/user.py +++ b/discord/user.py @@ -557,7 +557,8 @@ class ClientUser(BaseUser): nsfw_allowed: bool def __init__(self, *, state: ConnectionState, data: UserPayload) -> None: - super().__init__(state=state, data=data) + self._state = state + self._full_update(data) self.note: Note = Note(state, self.id) def __repr__(self) -> str: @@ -566,8 +567,8 @@ class ClientUser(BaseUser): f' bot={self.bot} verified={self.verified} mfa_enabled={self.mfa_enabled} premium={self.premium}>' ) - def _update(self, data: UserPayload) -> None: - super()._update(data) + def _full_update(self, data: UserPayload) -> None: + self._update(data) self.verified = data.get('verified', False) self.email = data.get('email') self.phone = _get_as_snowflake(data, 'phone')