From d2741ca38a94bde92b080fb6a9f65b6673f5a656 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Wed, 21 Oct 2015 20:27:08 -0400 Subject: Better detection for the everyone role. Fixes #23. --- discord/client.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'discord/client.py') diff --git a/discord/client.py b/discord/client.py index 6053d7e3..ebc911c1 100644 --- a/discord/client.py +++ b/discord/client.py @@ -158,7 +158,7 @@ class ConnectionState(object): return member def _add_server(self, guild): - guild['roles'] = [Role(**role) for role in guild['roles']] + guild['roles'] = [Role(everyone=(guild['id'] == role['id']), **role) for role in guild['roles']] members = guild['members'] owner = guild['owner_id'] for i, member in enumerate(members): @@ -334,7 +334,9 @@ class ConnectionState(object): def handle_guild_role_create(self, data): server = self._get_server(data.get('guild_id')) - role = Role(**data.get('role', {})) + role_data = data.get('role', {}) + everyone = server.id == role_data.get('id') + role = Role(everyone=everyone, **role_data) server.roles.append(role) self.dispatch('server_role_create', server, role) @@ -1183,7 +1185,8 @@ class Client(object): if is_response_successful(response): data = response.json() - role = Role(**data) + everyone = server.id == data.get('id') + role = Role(everyone=everyone, **data) if self.edit_role(server, role, **fields): # we have to call edit because you can't pass a payload to the # http request currently. -- cgit v1.2.3