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