diff options
| author | Rapptz <[email protected]> | 2016-04-29 22:29:56 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2016-04-29 22:29:56 -0400 |
| commit | ebaf74e7840764c1a6a8562e131e923442fd530f (patch) | |
| tree | 924905bbfc9aff9fb99061d0355ee12c665f9978 | |
| parent | Add User.mentioned_in helper to check if a message mentions you. (diff) | |
| download | discord.py-ebaf74e7840764c1a6a8562e131e923442fd530f.tar.xz discord.py-ebaf74e7840764c1a6a8562e131e923442fd530f.zip | |
Sort member.roles by ID but keep the default role in index 0.
This should make the events checking if `before` and `after` roles
are equivalent more sane for users.
| -rw-r--r-- | discord/state.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/discord/state.py b/discord/state.py index 850a74f9..08fb947d 100644 --- a/discord/state.py +++ b/discord/state.py @@ -324,11 +324,14 @@ class ConnectionState: member.nick = data['nick'] # update the roles - member.roles = [server.default_role] + member.roles = [] 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) self.dispatch('member_update', old_member, member) def _get_create_server(self, data): |