Attempt to consistently sort of all Member.roles
This commit is contained in:
		| @@ -286,7 +286,7 @@ class ConnectionState: | |||||||
|             if role is not None: |             if role is not None: | ||||||
|                 roles.append(role) |                 roles.append(role) | ||||||
|  |  | ||||||
|         data['roles'] = roles |         data['roles'] = sorted(roles, key=lambda r: int(r.id)) | ||||||
|         return Member(server=server, **data) |         return Member(server=server, **data) | ||||||
|  |  | ||||||
|     def parse_guild_member_add(self, data): |     def parse_guild_member_add(self, data): | ||||||
| @@ -324,14 +324,13 @@ class ConnectionState: | |||||||
|                 member.nick = data['nick'] |                 member.nick = data['nick'] | ||||||
|  |  | ||||||
|             # update the roles |             # update the roles | ||||||
|             member.roles = [] |             member.roles = [server.default_role] | ||||||
|             for role in server.roles: |             for role in server.roles: | ||||||
|                 if role.id in data['roles']: |                 if role.id in data['roles']: | ||||||
|                     member.roles.append(role) |                     member.roles.append(role) | ||||||
|  |  | ||||||
|             # sort the roles by ID since they can be "randomised" |             # sort the roles by ID since they can be "randomised" | ||||||
|             member.roles.sort(key=lambda r: r.id) |             member.roles.sort(key=lambda r: int(r.id)) | ||||||
|             member.roles.insert(0, server.default_role) |  | ||||||
|             self.dispatch('member_update', old_member, member) |             self.dispatch('member_update', old_member, member) | ||||||
|  |  | ||||||
|     def _get_create_server(self, data): |     def _get_create_server(self, data): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user