Add invite targets for voice channel invites
This commit is contained in:
@ -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}>'
|
||||
|
Reference in New Issue
Block a user