aboutsummaryrefslogtreecommitdiff
path: root/discord/team.py
diff options
context:
space:
mode:
authorZomatree <[email protected]>2021-05-29 05:15:46 +0100
committerGitHub <[email protected]>2021-05-29 00:15:46 -0400
commitb48f510e154e40b8ba3bef58e5c513fccf90c89c (patch)
tree917f2da2ee25e0fcac4fbc9e3762d89c4d10e604 /discord/team.py
parentDefault SelectOption.value to the label if not given (diff)
downloaddiscord.py-b48f510e154e40b8ba3bef58e5c513fccf90c89c.tar.xz
discord.py-b48f510e154e40b8ba3bef58e5c513fccf90c89c.zip
Add invite targets for voice channel invites
Diffstat (limited to 'discord/team.py')
-rw-r--r--discord/team.py22
1 files changed, 16 insertions, 6 deletions
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}>'