mirror of
				https://github.com/Rapptz/discord.py.git
				synced 2025-10-30 21:12:58 +00:00 
			
		
		
		
	Add Member.colour property to get rendered role colour of a member.
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user