aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-06-14 22:13:35 -0400
committerRapptz <[email protected]>2016-06-14 22:26:15 -0400
commit08674f115bee95e1192f816acc53e9b006727f46 (patch)
treefd526f5b6ca798d9a82efcd3ba2397ef54a4d728
parentMake Client.edit_channel_permissions use PermissionOverwrite. (diff)
downloaddiscord.py-08674f115bee95e1192f816acc53e9b006727f46.tar.xz
discord.py-08674f115bee95e1192f816acc53e9b006727f46.zip
Make Channel.overwrites_for return PermissionOverwrite
-rw-r--r--discord/channel.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/discord/channel.py b/discord/channel.py
index 9c8e7cc3..67a66045 100644
--- a/discord/channel.py
+++ b/discord/channel.py
@@ -25,7 +25,7 @@ DEALINGS IN THE SOFTWARE.
import copy
from . import utils
-from .permissions import Permissions
+from .permissions import Permissions, PermissionOverwrite
from .enums import ChannelType
from collections import namedtuple
from .mixins import Hashable
@@ -33,7 +33,6 @@ from .role import Role
from .member import Member
Overwrites = namedtuple('Overwrites', 'id allow deny type')
-PermissionOverwrite = namedtuple('PermissionOverwrite', 'allow deny')
class Channel(Hashable):
"""Represents a Discord server channel.
@@ -162,17 +161,18 @@ class Channel(Hashable):
return utils.snowflake_time(self.id)
def overwrites_for(self, obj):
- """Returns a namedtuple that gives you the channel-specific overwrites
- for a member or a role.
-
- The named tuple is a tuple of (allow, deny) :class:`Permissions`
- with the appropriately named entries.
+ """Returns the channel-specific overwrites for a member or a role.
Parameters
-----------
obj
The :class:`Role` or :class:`Member` or :class:`Object` denoting
whose overwrite to get.
+
+ Returns
+ ---------
+ :class:`PermissionOverwrite`
+ The permission overwrites for this object.
"""
if isinstance(obj, Member):
@@ -184,10 +184,11 @@ class Channel(Hashable):
for overwrite in filter(predicate, self._permission_overwrites):
if overwrite.id == obj.id:
- return PermissionOverwrite(allow=Permissions(overwrite.allow),
- deny=Permissions(overwrite.deny))
+ allow = Permissions(overwrite.allow)
+ deny = Permissions(overwrite.deny)
+ return PermissionOverwrite.from_pair(allow, deny)
- return PermissionOverwrite(allow=Permissions.none(), deny=Permissions.none())
+ return PermissionOverwrite()
def permissions_for(self, member):
"""Handles permission resolution for the current :class:`Member`.