mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-21 00:07:51 +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 .utils import parse_time
|
||||
from .enums import Status
|
||||
from .colour import Colour
|
||||
|
||||
class Member(User):
|
||||
"""Represents a Discord member to a :class:`Server`.
|
||||
@ -74,7 +75,7 @@ class Member(User):
|
||||
self.deaf = kwargs.get('deaf')
|
||||
self.mute = kwargs.get('mute')
|
||||
self.joined_at = parse_time(kwargs.get('joined_at'))
|
||||
self.roles = kwargs.get('roles')
|
||||
self.roles = kwargs.get('roles', [])
|
||||
self.status = Status.offline
|
||||
game = kwargs.get('game', {})
|
||||
self.game = Game(**game) if game else None
|
||||
@ -103,3 +104,21 @@ class Member(User):
|
||||
# we switched channels
|
||||
if self.voice_channel is not None:
|
||||
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