Attempt to consistently sort of all Member.roles

This commit is contained in:
Rapptz 2016-04-29 22:43:54 -04:00
parent 47cccba946
commit 5e8c79bf76

View File

@ -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):