Browse Source

Add recommended changes

pull/10211/head
blord0 2 weeks ago
parent
commit
fcda2e6548
  1. 14
      discord/primary_guild.py
  2. 4
      discord/user.py

14
discord/primary_guild.py

@ -39,6 +39,8 @@ if TYPE_CHECKING:
class PrimaryGuild: class PrimaryGuild:
"""Represents the primary guild identity of a :class:`User` """Represents the primary guild identity of a :class:`User`
.. versionadded:: 2.6
Attributes Attributes
----------- -----------
id: Optional[:class:`int`] id: Optional[:class:`int`]
@ -48,19 +50,13 @@ class PrimaryGuild:
identity_enabled: Optional[:class:`bool`] identity_enabled: Optional[:class:`bool`]
Whether the user has their primary guild publicly displayed. If ``None``, the user has a public guild but has not reaffirmed the guild identity after a change Whether the user has their primary guild publicly displayed. If ``None``, the user has a public guild but has not reaffirmed the guild identity after a change
.. note:: .. warning::
Users can have their primary guild publicly displayed while still having an :attr:`id` of ``None``. Be careful when checking this attribute! Users can have their primary guild publicly displayed while still having an :attr:`id` of ``None``. Be careful when checking this attribute!
""" """
__slots__ = ('id', 'identity_enabled', 'tag', '_badge', '_state') __slots__ = ('id', 'identity_enabled', 'tag', '_badge', '_state')
if TYPE_CHECKING:
id: Optional[int]
identity_enabled: Optional[bool]
tag: Optional[str]
_badge: Optional[str]
_state: ConnectionState
def __init__(self, *, state, data: PrimaryGuildPayload) -> None: def __init__(self, *, state, data: PrimaryGuildPayload) -> None:
self._state = state self._state = state
@ -82,13 +78,13 @@ class PrimaryGuild:
@property @property
def created_at(self) -> Optional[datetime]: def created_at(self) -> Optional[datetime]:
"""Optional[:class:`datetime.datetime`]: Returns the primary guild's creation time in UTC.""" """Optional[:class:`datetime.datetime`]: Returns the primary guild's creation time in UTC."""
if self.id: if self.id is not None:
return snowflake_time(self.id) return snowflake_time(self.id)
return None return None
@classmethod @classmethod
def _default(cls, state: ConnectionState) -> Self: def _default(cls, state: ConnectionState) -> Self:
payload: PrimaryGuildPayload = {"identity_guild_id": None, "identity_enabled": False, "tag": None, "badge": None} payload: PrimaryGuildPayload = {"identity_enabled": False} # type: ignore
return cls(state=state, data=payload) return cls(state=state, data=payload)
def __repr__(self) -> str: def __repr__(self) -> str:

4
discord/user.py

@ -317,7 +317,9 @@ class BaseUser(_UserTag):
@property @property
def primary_guild(self) -> PrimaryGuild: def primary_guild(self) -> PrimaryGuild:
""":class:`PrimaryGuild`: Returns the user's primary guild.""" """:class:`PrimaryGuild`: Returns the user's primary guild.
.. versionadded:: 2.6"""
if self._primary_guild: if self._primary_guild:
return PrimaryGuild(state=self._state, data=self._primary_guild) return PrimaryGuild(state=self._state, data=self._primary_guild)
return PrimaryGuild._default(self._state) return PrimaryGuild._default(self._state)

Loading…
Cancel
Save