aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/member.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/discord/member.py b/discord/member.py
index af8d8210..23763728 100644
--- a/discord/member.py
+++ b/discord/member.py
@@ -117,12 +117,19 @@ class Member(User):
There is an alias for this under ``color``.
"""
+ default_colour = Colour.default()
# highest order of the colour is the one that gets rendered.
+ # if the highest is the default colour then the next one with a colour
+ # is chosen instead
if self.roles:
- role = max(self.roles, key=lambda r: r.position)
- return role.colour
- else:
- return Colour.default()
+ roles = sorted(self.roles, key=lambda r: r.position, reverse=True)
+ for role in roles:
+ if role.colour == default_colour:
+ continue
+ else:
+ return role.colour
+
+ return default_colour
color = colour