From f63eb5c30d598a1ea42c6d5752e2535df60107af Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 1 Mar 2022 12:47:28 +0100 Subject: [PATCH] Fix avatar clearing in ClientUser.edit --- discord/user.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/discord/user.py b/discord/user.py index d09a7d726..f3e2ab2de 100644 --- a/discord/user.py +++ b/discord/user.py @@ -349,7 +349,7 @@ class ClientUser(BaseUser): self._flags = data.get('flags', 0) self.mfa_enabled = data.get('mfa_enabled', False) - async def edit(self, *, username: str = MISSING, avatar: bytes = MISSING) -> ClientUser: + async def edit(self, *, username: str = MISSING, avatar: Optional[bytes] = MISSING) -> ClientUser: """|coro| Edits the current profile of the client. @@ -374,7 +374,7 @@ class ClientUser(BaseUser): ----------- username: :class:`str` The new username you wish to change to. - avatar: :class:`bytes` + avatar: Optional[:class:`bytes`] A :term:`py:bytes-like object` representing the image to upload. Could be ``None`` to denote no avatar. @@ -395,7 +395,10 @@ class ClientUser(BaseUser): payload['username'] = username if avatar is not MISSING: - payload['avatar'] = _bytes_to_base64_data(avatar) + if avatar is not None: + payload['avatar'] = _bytes_to_base64_data(avatar) + else: + payload['avatar'] = None data: UserPayload = await self._state.http.edit_profile(payload) return ClientUser(state=self._state, data=data)