aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh <[email protected]>2021-06-10 22:06:00 +1000
committerGitHub <[email protected]>2021-06-10 08:06:00 -0400
commit04788d0a06894c21e79946a16828dfd901e443ed (patch)
tree15fd968861985f8fe75deb7e3a44025e4c243b10
parentFix some webhook related type checker errors (diff)
downloaddiscord.py-04788d0a06894c21e79946a16828dfd901e443ed.tar.xz
discord.py-04788d0a06894c21e79946a16828dfd901e443ed.zip
Type-Hint appinfo/team
-rw-r--r--discord/appinfo.py70
-rw-r--r--discord/team.py26
-rw-r--r--discord/types/team.py4
3 files changed, 53 insertions, 47 deletions
diff --git a/discord/appinfo.py b/discord/appinfo.py
index a7f8da82..47ec1069 100644
--- a/discord/appinfo.py
+++ b/discord/appinfo.py
@@ -24,15 +24,19 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import List, TYPE_CHECKING, Optional
from . import utils
from .asset import Asset
if TYPE_CHECKING:
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
__all__ = (
@@ -131,32 +135,32 @@ class AppInfo:
'privacy_policy_url',
)
- def __init__(self, state, data: AppInfoPayload):
+ def __init__(self, state: ConnectionState, data: AppInfoPayload):
from .team import Team
- self._state = state
- self.id = int(data['id'])
- self.name = data['name']
- self.description = data['description']
- self._icon = data['icon']
- self.rpc_origins = data['rpc_origins']
- self.bot_public = data['bot_public']
- self.bot_require_code_grant = data['bot_require_code_grant']
- self.owner = state.store_user(data['owner'])
+ self._state: ConnectionState = state
+ self.id: int = int(data['id'])
+ self.name: str = data['name']
+ self.description: str = data['description']
+ self._icon: Optional[str] = data['icon']
+ self.rpc_origins: List[str] = data['rpc_origins']
+ self.bot_public: bool = data['bot_public']
+ self.bot_require_code_grant: bool = data['bot_require_code_grant']
+ self.owner: User = state.store_user(data['owner'])
- team = data.get('team')
- self.team = Team(state, team) if team else None
+ team: Optional[TeamPayload] = data.get('team')
+ self.team: Optional[Team] = Team(state, team) if team else None
- self.summary = data['summary']
- self.verify_key = data['verify_key']
+ self.summary: str = data['summary']
+ 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.slug = data.get('slug')
- self._cover_image = data.get('cover_image')
- self.terms_of_service_url = data.get('terms_of_service_url')
- self.privacy_policy_url = data.get('privacy_policy_url')
+ self.primary_sku_id: Optional[int] = utils._get_as_snowflake(data, 'primary_sku_id')
+ self.slug: Optional[str] = data.get('slug')
+ self._cover_image: Optional[str] = data.get('cover_image')
+ self.terms_of_service_url: Optional[str] = data.get('terms_of_service_url')
+ self.privacy_policy_url: Optional[str] = data.get('privacy_policy_url')
def __repr__(self) -> str:
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')
def __init__(self, *, state: ConnectionState, data: PartialAppInfoPayload):
- self._state = state
- self.id = int(data['id'])
- self.name = data['name']
- self._icon = data.get('icon')
- self.description = data['description']
- self.rpc_origins = data.get('rpc_origins')
- self.summary = data['summary']
- self.verify_key = data['verify_key']
- self.terms_of_service_url = data.get('terms_of_service_url')
- self.privacy_policy_url = data.get('privacy_policy_url')
+ self._state: ConnectionState = state
+ self.id: int = int(data['id'])
+ self.name: str = data['name']
+ self._icon: Optional[str] = data.get('icon')
+ self.description: str = data['description']
+ self.rpc_origins: Optional[List[str]] = data.get('rpc_origins')
+ self.summary: str = data['summary']
+ self.verify_key: str = data['verify_key']
+ self.terms_of_service_url: Optional[str] = data.get('terms_of_service_url')
+ self.privacy_policy_url: Optional[str] = data.get('privacy_policy_url')
def __repr__(self) -> str:
return f'<{self.__class__.__name__} id={self.id} name={self.name!r} description={self.description!r}>'
diff --git a/discord/team.py b/discord/team.py
index 94cf6e59..b7b68204 100644
--- a/discord/team.py
+++ b/discord/team.py
@@ -29,9 +29,11 @@ from .user import BaseUser
from .asset import Asset
from .enums import TeamMembershipState, try_enum
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING, Optional, List
if TYPE_CHECKING:
+ from .state import ConnectionState
+
from .types.team import (
Team as TeamPayload,
TeamMember as TeamMemberPayload,
@@ -62,14 +64,14 @@ class Team:
__slots__ = ('_state', 'id', 'name', '_icon', 'owner_id', 'members')
- def __init__(self, state, data: TeamPayload):
- self._state = state
+ def __init__(self, state: ConnectionState, data: TeamPayload):
+ self._state: ConnectionState = state
- self.id = int(data['id'])
- self.name = data['name']
- self._icon = data['icon']
- self.owner_id = utils._get_as_snowflake(data, 'owner_user_id')
- self.members = [TeamMember(self, self._state, member) for member in data['members']]
+ self.id: int = int(data['id'])
+ self.name: str = data['name']
+ self._icon: Optional[str] = data['icon']
+ self.owner_id: Optional[int] = utils._get_as_snowflake(data, 'owner_user_id')
+ self.members: List[TeamMember] = [TeamMember(self, self._state, member) for member in data['members']]
def __repr__(self) -> str:
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')
- def __init__(self, team: Team, state, data: TeamMemberPayload):
- self.team = team
- self.membership_state = try_enum(TeamMembershipState, data['membership_state'])
- self.permissions = data['permissions']
+ def __init__(self, team: Team, state: ConnectionState, data: TeamMemberPayload):
+ self.team: Team = team
+ self.membership_state: TeamMembershipState = try_enum(TeamMembershipState, data['membership_state'])
+ self.permissions: List[str] = data['permissions']
super().__init__(state=state, data=data['user'])
def __repr__(self) -> str:
diff --git a/discord/types/team.py b/discord/types/team.py
index e8cd524f..918ede60 100644
--- a/discord/types/team.py
+++ b/discord/types/team.py
@@ -24,7 +24,7 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations
-from typing import TypedDict, List
+from typing import TypedDict, List, Optional
from .user import PartialUser
from .snowflake import Snowflake
@@ -40,4 +40,4 @@ class Team(TypedDict):
name: str
owner_id: Snowflake
members: List[TeamMember]
- icon: str
+ icon: Optional[str]