aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-05-12 21:10:02 -0400
committerRapptz <[email protected]>2016-05-12 21:10:02 -0400
commitdd8a60f7432641465a6b9296409bb43d0c31ca4f (patch)
tree9131c3ba3044102a305c4a5c530452effce332bc
parentAdd example for Client.purge_from (diff)
downloaddiscord.py-dd8a60f7432641465a6b9296409bb43d0c31ca4f.tar.xz
discord.py-dd8a60f7432641465a6b9296409bb43d0c31ca4f.zip
Add Permissions.administrator and change Permissions.manage_roles
-rw-r--r--discord/permissions.py34
1 files changed, 25 insertions, 9 deletions
diff --git a/discord/permissions.py b/discord/permissions.py
index f7e262d1..5420a5e4 100644
--- a/discord/permissions.py
+++ b/discord/permissions.py
@@ -127,7 +127,7 @@ class Permissions:
def all(cls):
"""A factory method that creates a :class:`Permissions` with all
permissions set to True."""
- return cls(0b00001111111100111111110000111111)
+ return cls(0b00011111111100111111110000111111)
@classmethod
def all_channel(cls):
@@ -138,14 +138,17 @@ class Permissions:
- manager_server
- kick_members
- ban_members
+ - administrator
+ - change_nicknames
+ - manage_nicknames
"""
- return cls(0b00000011111100111111110000011001)
+ return cls(0b00010011111100111111110000010001)
@classmethod
def general(cls):
"""A factory method that creates a :class:`Permissions` with all
"General" permissions set to True."""
- return cls(0b00001100000000000000000000111111)
+ return cls(0b00011100000000000000000000111111)
@classmethod
def text(cls):
@@ -214,14 +217,15 @@ class Permissions:
self._set(2, value)
@property
- def manage_roles(self):
- """Returns True if a user can manage server roles. This role overrides all other permissions.
+ def administrator(self):
+ """Returns True if a user is an administrator. This role overrides all other permissions.
- This also corresponds to the "manage permissions" channel-specific override."""
+ This also bypasses all channel-specific overrides.
+ """
return self._bit(3)
- @manage_roles.setter
- def manage_roles(self, value):
+ @administrator.setter
+ def administrator(self, value):
self._set(3, value)
@property
@@ -392,4 +396,16 @@ class Permissions:
def manage_nicknames(self, value):
self._set(27, value)
- # 4 unused
+ @property
+ def manage_roles(self):
+ """Returns True if a user can create or edit roles less than their role's position.
+
+ This also corresponds to the "manage permissions" channel-specific override.
+ """
+ return self._bit(28)
+
+ @manage_roles.setter
+ def manage_roles(self, value):
+ self._set(28, value)
+
+ # 3 unused