aboutsummaryrefslogtreecommitdiff
path: root/discord/client.py
diff options
context:
space:
mode:
authorRapptz <[email protected]>2015-10-21 20:27:08 -0400
committerRapptz <[email protected]>2015-10-21 20:27:08 -0400
commitd2741ca38a94bde92b080fb6a9f65b6673f5a656 (patch)
tree67c03eddf403f23f278dedfcb881197ae9fdeabb /discord/client.py
parentAdd Client.replace_roles (diff)
downloaddiscord.py-d2741ca38a94bde92b080fb6a9f65b6673f5a656.tar.xz
discord.py-d2741ca38a94bde92b080fb6a9f65b6673f5a656.zip
Better detection for the everyone role. Fixes #23.
Diffstat (limited to 'discord/client.py')
-rw-r--r--discord/client.py9
1 files changed, 6 insertions, 3 deletions
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.