mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 20:28:38 +00:00
Add Member.colour property to get rendered role colour of a member.
This commit is contained in:
parent
1a98e9235a
commit
53a240e0d3
@ -28,6 +28,7 @@ from .user import User
|
|||||||
from .game import Game
|
from .game import Game
|
||||||
from .utils import parse_time
|
from .utils import parse_time
|
||||||
from .enums import Status
|
from .enums import Status
|
||||||
|
from .colour import Colour
|
||||||
|
|
||||||
class Member(User):
|
class Member(User):
|
||||||
"""Represents a Discord member to a :class:`Server`.
|
"""Represents a Discord member to a :class:`Server`.
|
||||||
@ -74,7 +75,7 @@ class Member(User):
|
|||||||
self.deaf = kwargs.get('deaf')
|
self.deaf = kwargs.get('deaf')
|
||||||
self.mute = kwargs.get('mute')
|
self.mute = kwargs.get('mute')
|
||||||
self.joined_at = parse_time(kwargs.get('joined_at'))
|
self.joined_at = parse_time(kwargs.get('joined_at'))
|
||||||
self.roles = kwargs.get('roles')
|
self.roles = kwargs.get('roles', [])
|
||||||
self.status = Status.offline
|
self.status = Status.offline
|
||||||
game = kwargs.get('game', {})
|
game = kwargs.get('game', {})
|
||||||
self.game = Game(**game) if game else None
|
self.game = Game(**game) if game else None
|
||||||
@ -103,3 +104,21 @@ class Member(User):
|
|||||||
# we switched channels
|
# we switched channels
|
||||||
if self.voice_channel is not None:
|
if self.voice_channel is not None:
|
||||||
self.voice_channel.voice_members.append(self)
|
self.voice_channel.voice_members.append(self)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def colour(self):
|
||||||
|
"""A property that returns a :class:`Colour` denoting the rendered colour
|
||||||
|
for the member. If the default colour is the one rendered then an instance
|
||||||
|
of :meth:`Colour.default` is returned.
|
||||||
|
|
||||||
|
There is an alias for this under ``color``.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# highest order of the colour is the one that gets rendered.
|
||||||
|
if self.roles:
|
||||||
|
role = max(self.roles, key=lambda r: r.position)
|
||||||
|
return role.colour
|
||||||
|
else:
|
||||||
|
return Colour.default()
|
||||||
|
|
||||||
|
color = colour
|
||||||
|
Loading…
x
Reference in New Issue
Block a user