diff --git a/discord/user.py b/discord/user.py index f12beb61e..921bdcce6 100644 --- a/discord/user.py +++ b/discord/user.py @@ -43,6 +43,7 @@ if TYPE_CHECKING: from .guild import Guild from .message import Message from .state import ConnectionState + from .types.clan import Clan as ClanPayload from .types.channel import DMChannel as DMChannelPayload from .types.user import PartialUser as PartialUserPayload, User as UserPayload, AvatarDecorationData @@ -88,6 +89,7 @@ class BaseUser(_UserTag): _accent_colour: Optional[int] _public_flags: int _avatar_decoration_data: Optional[AvatarDecorationData] + _clan: Optional[ClanPayload] def __init__(self, *, state: ConnectionState, data: Union[UserPayload, PartialUserPayload]) -> None: self._state = state @@ -125,7 +127,7 @@ class BaseUser(_UserTag): self.bot = data.get('bot', False) self.system = data.get('system', False) self._avatar_decoration_data = data.get('avatar_decoration_data') - self._clan = data.get('clan') + self._clan = data.get('clan', None) @classmethod def _copy(cls, user: Self) -> Self: @@ -315,7 +317,7 @@ class BaseUser(_UserTag): If the user has not set a clan, ``None`` is returned.""" if self._clan: - return self._clan + return Clan(state=self._state, data=self._clan) return None def mentioned_in(self, message: Message) -> bool: