From 5e8c79bf764b7568fc580370ad60cb7ae9b83c19 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Fri, 29 Apr 2016 22:43:54 -0400 Subject: [PATCH] Attempt to consistently sort of all Member.roles --- discord/state.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/discord/state.py b/discord/state.py index 08fb947de..64be587fa 100644 --- a/discord/state.py +++ b/discord/state.py @@ -286,7 +286,7 @@ class ConnectionState: if role is not None: roles.append(role) - data['roles'] = roles + data['roles'] = sorted(roles, key=lambda r: int(r.id)) return Member(server=server, **data) def parse_guild_member_add(self, data): @@ -324,14 +324,13 @@ class ConnectionState: member.nick = data['nick'] # update the roles - member.roles = [] + member.roles = [server.default_role] for role in server.roles: if role.id in data['roles']: member.roles.append(role) # sort the roles by ID since they can be "randomised" - member.roles.sort(key=lambda r: r.id) - member.roles.insert(0, server.default_role) + member.roles.sort(key=lambda r: int(r.id)) self.dispatch('member_update', old_member, member) def _get_create_server(self, data):