Browse Source

Fix as identity_enabled is only field assured to be returned

pull/10211/head
blord0 4 weeks ago
parent
commit
ddf68cb69b
  1. 42
      discord/primary_guild.py

42
discord/primary_guild.py

@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations
from typing import TYPE_CHECKING
from typing import Optional, TYPE_CHECKING
from datetime import datetime
from .asset import Asset
@ -37,17 +37,17 @@ if TYPE_CHECKING:
class PrimaryGuild:
__slots__ = (
'guild_id',
'_guild_id',
'identity_enabled',
'tag',
'_tag',
'_badge',
'_state'
)
if TYPE_CHECKING:
guild_id: int
_guild_id: int
identity_enabled: bool
tag: str
_tag: str
_badge: str
_state: ConnectionState
@ -56,20 +56,38 @@ class PrimaryGuild:
self._update(data)
def _update(self, data: PrimaryGuildPayload):
self.guild_id = data['identity_guild_id']
self._guild_id = data.get('identity_guild_id', None)
self.identity_enabled = data['identity_enabled']
self.tag = data['tag']
self._badge = data['badge']
self._tag = data.get('tag', None)
self._badge = data.get('badge')
@property
def badge(self) -> Asset:
def guild_id(self) -> Optional[int]:
""":class:`int`: Returns the primary guild's id"""
if self._guild_id:
return self._guild_id
return None
@property
def tag(self) -> Optional[str]:
""":class:`str`: Return's the primary guild's tag"""
if self._tag:
return self._tag
return None
@property
def badge(self) -> Optional[Asset]:
""":class:`Asset`: Returns the primary guild's asset"""
return Asset._from_primary_guild(self._state, self.guild_id, self._badge)
if self._badge and self.guild_id:
return Asset._from_primary_guild(self._state, self.guild_id, self._badge)
return None
@property
def created_at(self) -> datetime:
def created_at(self) -> Optional[datetime]:
""":class:`datetime.datetime`: Returns the primary guild's creation time in UTC."""
return snowflake_time(self.guild_id)
if self.guild_id:
return snowflake_time(self.guild_id)
return None
def __repr__(self) -> str:
return (

Loading…
Cancel
Save