aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/state.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/discord/state.py b/discord/state.py
index 08fb947d..64be587f 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):