diff options
| author | Rapptz <[email protected]> | 2016-02-01 18:39:39 -0500 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2016-02-01 18:39:39 -0500 |
| commit | 66826910126b1adec48167ed62541b2d68828170 (patch) | |
| tree | ed71e85a0daf4eb39745a2b4f9656aa30e5991c7 | |
| parent | Make VoiceClient.create_ytdl_player a coroutine. (diff) | |
| download | discord.py-66826910126b1adec48167ed62541b2d68828170.tar.xz discord.py-66826910126b1adec48167ed62541b2d68828170.zip | |
Fix cases where Member.roles would have a string instead of Role.
Fixes #81.
| -rw-r--r-- | discord/state.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/discord/state.py b/discord/state.py index 684675d5..be73c4fb 100644 --- a/discord/state.py +++ b/discord/state.py @@ -194,8 +194,15 @@ class ConnectionState: def parse_guild_member_add(self, data): server = self._get_server(data.get('guild_id')) + + roles = [server.default_role] + for roleid in data.get('roles', []): + role = utils.get(server.roles, id=roleid) + if role is not None: + roles.append(role) + + data['roles'] = roles member = Member(server=server, **data) - member.roles.append(server.default_role) server._add_member(member) self.dispatch('member_join', member) |