mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 12:18:59 +00:00
Type-Hint appinfo/team
This commit is contained in:
parent
fc66c5b92d
commit
04788d0a06
@ -24,15 +24,19 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import List, TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from . import utils
|
from . import utils
|
||||||
from .asset import Asset
|
from .asset import Asset
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .guild import Guild
|
from .guild import Guild
|
||||||
from .types.appinfo import AppInfo as AppInfoPayload, PartialAppInfo as PartialAppInfoPayload
|
from .types.appinfo import (
|
||||||
|
AppInfo as AppInfoPayload,
|
||||||
|
PartialAppInfo as PartialAppInfoPayload,
|
||||||
|
Team as TeamPayload,
|
||||||
|
)
|
||||||
|
from .user import User
|
||||||
from .state import ConnectionState
|
from .state import ConnectionState
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
@ -131,32 +135,32 @@ class AppInfo:
|
|||||||
'privacy_policy_url',
|
'privacy_policy_url',
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, state, data: AppInfoPayload):
|
def __init__(self, state: ConnectionState, data: AppInfoPayload):
|
||||||
from .team import Team
|
from .team import Team
|
||||||
|
|
||||||
self._state = state
|
self._state: ConnectionState = state
|
||||||
self.id = int(data['id'])
|
self.id: int = int(data['id'])
|
||||||
self.name = data['name']
|
self.name: str = data['name']
|
||||||
self.description = data['description']
|
self.description: str = data['description']
|
||||||
self._icon = data['icon']
|
self._icon: Optional[str] = data['icon']
|
||||||
self.rpc_origins = data['rpc_origins']
|
self.rpc_origins: List[str] = data['rpc_origins']
|
||||||
self.bot_public = data['bot_public']
|
self.bot_public: bool = data['bot_public']
|
||||||
self.bot_require_code_grant = data['bot_require_code_grant']
|
self.bot_require_code_grant: bool = data['bot_require_code_grant']
|
||||||
self.owner = state.store_user(data['owner'])
|
self.owner: User = state.store_user(data['owner'])
|
||||||
|
|
||||||
team = data.get('team')
|
team: Optional[TeamPayload] = data.get('team')
|
||||||
self.team = Team(state, team) if team else None
|
self.team: Optional[Team] = Team(state, team) if team else None
|
||||||
|
|
||||||
self.summary = data['summary']
|
self.summary: str = data['summary']
|
||||||
self.verify_key = data['verify_key']
|
self.verify_key: str = data['verify_key']
|
||||||
|
|
||||||
self.guild_id = utils._get_as_snowflake(data, 'guild_id')
|
self.guild_id: Optional[int] = utils._get_as_snowflake(data, 'guild_id')
|
||||||
|
|
||||||
self.primary_sku_id = utils._get_as_snowflake(data, 'primary_sku_id')
|
self.primary_sku_id: Optional[int] = utils._get_as_snowflake(data, 'primary_sku_id')
|
||||||
self.slug = data.get('slug')
|
self.slug: Optional[str] = data.get('slug')
|
||||||
self._cover_image = data.get('cover_image')
|
self._cover_image: Optional[str] = data.get('cover_image')
|
||||||
self.terms_of_service_url = data.get('terms_of_service_url')
|
self.terms_of_service_url: Optional[str] = data.get('terms_of_service_url')
|
||||||
self.privacy_policy_url = data.get('privacy_policy_url')
|
self.privacy_policy_url: Optional[str] = data.get('privacy_policy_url')
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
return (
|
return (
|
||||||
@ -221,16 +225,16 @@ class PartialAppInfo:
|
|||||||
__slots__ = ('_state', 'id', 'name', 'description', 'rpc_origins', 'summary', 'verify_key', 'terms_of_service_url', 'privacy_policy_url', '_icon')
|
__slots__ = ('_state', 'id', 'name', 'description', 'rpc_origins', 'summary', 'verify_key', 'terms_of_service_url', 'privacy_policy_url', '_icon')
|
||||||
|
|
||||||
def __init__(self, *, state: ConnectionState, data: PartialAppInfoPayload):
|
def __init__(self, *, state: ConnectionState, data: PartialAppInfoPayload):
|
||||||
self._state = state
|
self._state: ConnectionState = state
|
||||||
self.id = int(data['id'])
|
self.id: int = int(data['id'])
|
||||||
self.name = data['name']
|
self.name: str = data['name']
|
||||||
self._icon = data.get('icon')
|
self._icon: Optional[str] = data.get('icon')
|
||||||
self.description = data['description']
|
self.description: str = data['description']
|
||||||
self.rpc_origins = data.get('rpc_origins')
|
self.rpc_origins: Optional[List[str]] = data.get('rpc_origins')
|
||||||
self.summary = data['summary']
|
self.summary: str = data['summary']
|
||||||
self.verify_key = data['verify_key']
|
self.verify_key: str = data['verify_key']
|
||||||
self.terms_of_service_url = data.get('terms_of_service_url')
|
self.terms_of_service_url: Optional[str] = data.get('terms_of_service_url')
|
||||||
self.privacy_policy_url = data.get('privacy_policy_url')
|
self.privacy_policy_url: Optional[str] = data.get('privacy_policy_url')
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
return f'<{self.__class__.__name__} id={self.id} name={self.name!r} description={self.description!r}>'
|
return f'<{self.__class__.__name__} id={self.id} name={self.name!r} description={self.description!r}>'
|
||||||
|
@ -29,9 +29,11 @@ from .user import BaseUser
|
|||||||
from .asset import Asset
|
from .asset import Asset
|
||||||
from .enums import TeamMembershipState, try_enum
|
from .enums import TeamMembershipState, try_enum
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import TYPE_CHECKING, Optional, List
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
from .state import ConnectionState
|
||||||
|
|
||||||
from .types.team import (
|
from .types.team import (
|
||||||
Team as TeamPayload,
|
Team as TeamPayload,
|
||||||
TeamMember as TeamMemberPayload,
|
TeamMember as TeamMemberPayload,
|
||||||
@ -62,14 +64,14 @@ class Team:
|
|||||||
|
|
||||||
__slots__ = ('_state', 'id', 'name', '_icon', 'owner_id', 'members')
|
__slots__ = ('_state', 'id', 'name', '_icon', 'owner_id', 'members')
|
||||||
|
|
||||||
def __init__(self, state, data: TeamPayload):
|
def __init__(self, state: ConnectionState, data: TeamPayload):
|
||||||
self._state = state
|
self._state: ConnectionState = state
|
||||||
|
|
||||||
self.id = int(data['id'])
|
self.id: int = int(data['id'])
|
||||||
self.name = data['name']
|
self.name: str = data['name']
|
||||||
self._icon = data['icon']
|
self._icon: Optional[str] = data['icon']
|
||||||
self.owner_id = utils._get_as_snowflake(data, 'owner_user_id')
|
self.owner_id: Optional[int] = utils._get_as_snowflake(data, 'owner_user_id')
|
||||||
self.members = [TeamMember(self, self._state, member) for member in data['members']]
|
self.members: List[TeamMember] = [TeamMember(self, self._state, member) for member in data['members']]
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
return f'<{self.__class__.__name__} id={self.id} name={self.name}>'
|
return f'<{self.__class__.__name__} id={self.id} name={self.name}>'
|
||||||
@ -130,10 +132,10 @@ class TeamMember(BaseUser):
|
|||||||
|
|
||||||
__slots__ = BaseUser.__slots__ + ('team', 'membership_state', 'permissions')
|
__slots__ = BaseUser.__slots__ + ('team', 'membership_state', 'permissions')
|
||||||
|
|
||||||
def __init__(self, team: Team, state, data: TeamMemberPayload):
|
def __init__(self, team: Team, state: ConnectionState, data: TeamMemberPayload):
|
||||||
self.team = team
|
self.team: Team = team
|
||||||
self.membership_state = try_enum(TeamMembershipState, data['membership_state'])
|
self.membership_state: TeamMembershipState = try_enum(TeamMembershipState, data['membership_state'])
|
||||||
self.permissions = data['permissions']
|
self.permissions: List[str] = data['permissions']
|
||||||
super().__init__(state=state, data=data['user'])
|
super().__init__(state=state, data=data['user'])
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
|
@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import TypedDict, List
|
from typing import TypedDict, List, Optional
|
||||||
|
|
||||||
from .user import PartialUser
|
from .user import PartialUser
|
||||||
from .snowflake import Snowflake
|
from .snowflake import Snowflake
|
||||||
@ -40,4 +40,4 @@ class Team(TypedDict):
|
|||||||
name: str
|
name: str
|
||||||
owner_id: Snowflake
|
owner_id: Snowflake
|
||||||
members: List[TeamMember]
|
members: List[TeamMember]
|
||||||
icon: str
|
icon: Optional[str]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user