From b48f510e154e40b8ba3bef58e5c513fccf90c89c Mon Sep 17 00:00:00 2001 From: Zomatree <39768508+Zomatree@users.noreply.github.com> Date: Sat, 29 May 2021 05:15:46 +0100 Subject: Add invite targets for voice channel invites --- discord/team.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'discord/team.py') diff --git a/discord/team.py b/discord/team.py index 5e47770b..94cf6e59 100644 --- a/discord/team.py +++ b/discord/team.py @@ -22,11 +22,21 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ +from __future__ import annotations + from . import utils from .user import BaseUser from .asset import Asset from .enums import TeamMembershipState, try_enum +from typing import TYPE_CHECKING, Optional + +if TYPE_CHECKING: + from .types.team import ( + Team as TeamPayload, + TeamMember as TeamMemberPayload, + ) + __all__ = ( 'Team', 'TeamMember', @@ -52,7 +62,7 @@ class Team: __slots__ = ('_state', 'id', 'name', '_icon', 'owner_id', 'members') - def __init__(self, state, data): + def __init__(self, state, data: TeamPayload): self._state = state self.id = int(data['id']) @@ -61,18 +71,18 @@ class Team: self.owner_id = utils._get_as_snowflake(data, 'owner_user_id') self.members = [TeamMember(self, self._state, member) for member in data['members']] - def __repr__(self): + def __repr__(self) -> str: return f'<{self.__class__.__name__} id={self.id} name={self.name}>' @property - def icon(self): + def icon(self) -> Optional[Asset]: """Optional[:class:`.Asset`]: Retrieves the team's icon asset, if any.""" if self._icon is None: return None return Asset._from_icon(self._state, self.id, self._icon, path='team') @property - def owner(self): + def owner(self) -> Optional[TeamMember]: """Optional[:class:`TeamMember`]: The team's owner.""" return utils.get(self.members, id=self.owner_id) @@ -120,13 +130,13 @@ class TeamMember(BaseUser): __slots__ = BaseUser.__slots__ + ('team', 'membership_state', 'permissions') - def __init__(self, team, state, data): + def __init__(self, team: Team, state, data: TeamMemberPayload): self.team = team self.membership_state = try_enum(TeamMembershipState, data['membership_state']) self.permissions = data['permissions'] super().__init__(state=state, data=data['user']) - def __repr__(self): + def __repr__(self) -> str: return ( f'<{self.__class__.__name__} id={self.id} name={self.name!r} ' f'discriminator={self.discriminator!r} membership_state={self.membership_state!r}>' -- cgit v1.2.3