aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2019-06-30 02:27:31 -0400
committerRapptz <[email protected]>2019-06-30 02:34:42 -0400
commitc4d1bd7899b7ea144472e46b5627842fded13d55 (patch)
tree8d0e9dac4ba94b38055e3250eb7cd06b77cceba9
parent[commands] Fix up Paginator documentation. (diff)
downloaddiscord.py-c4d1bd7899b7ea144472e46b5627842fded13d55.tar.xz
discord.py-c4d1bd7899b7ea144472e46b5627842fded13d55.zip
TeamMember inherits from BaseUser instead of attribute.
-rw-r--r--discord/team.py44
1 files changed, 34 insertions, 10 deletions
diff --git a/discord/team.py b/discord/team.py
index 8c04fa7e..494b3a78 100644
--- a/discord/team.py
+++ b/discord/team.py
@@ -25,7 +25,7 @@ DEALINGS IN THE SOFTWARE.
"""
from . import utils
-from .user import User
+from .user import BaseUser
from .asset import Asset
from .enums import TeamMembershipState, try_enum
@@ -71,28 +71,52 @@ class Team:
return self._state.get_user(self.owner_id)
-class TeamMember:
+class TeamMember(BaseUser):
"""Represents a team member in a team.
+ .. container:: operations
+
+ .. describe:: x == y
+
+ Checks if two team members are equal.
+
+ .. describe:: x != y
+
+ Checks if two team members are not equal.
+
+ .. describe:: hash(x)
+
+ Return the team member's hash.
+
+ .. describe:: str(x)
+
+ Returns the team member's name with discriminator.
+
Attributes
-------------
+ name: :class:`str`
+ The team member's username.
+ id: :class:`int`
+ The team member's unique ID.
+ discriminator: :class:`str`
+ The team member's discriminator. This is given when the username has conflicts.
+ avatar: Optional[:class:`str`]
+ The avatar hash the team member has. Could be None.
+ bot: :class:`bool`
+ Specifies if the user is a bot account.
team: :class:`team`
The team that the member is from.
membership_state: :class:`TeamMembershipState`
The membership state of the member (e.g. invited or accepted)
- user: :class:`User`
- The team member
"""
- __slots__ = ('_state', 'team', 'membership_state',
- 'permissions', 'user')
+ __slots__ = BaseUser.__slots__ + ('team', 'membership_state', 'permissions')
def __init__(self, team, state, data):
- self._state = state
self.team = team
-
self.membership_state = try_enum(TeamMembershipState, data['membership_state'])
self.permissions = data['permissions']
- self.user = User(state=self._state, data=data['user'])
+ super().__init__(state=state, data=data['user'])
def __repr__(self):
- return '<{0.__class__.__name__} id={0.user.id} name={0.user.name!r}>'.format(self)
+ return '<{0.__class__.__name__} id={0.id} name={0.name!r} ' \
+ 'discriminator={0.discriminator!r} membership_state={0.membership_state!r}>'.format(self)