Make Channel.overwrites_for return PermissionOverwrite
This commit is contained in:
parent
d7efc9778b
commit
08674f115b
@ -25,7 +25,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
|
|
||||||
import copy
|
import copy
|
||||||
from . import utils
|
from . import utils
|
||||||
from .permissions import Permissions
|
from .permissions import Permissions, PermissionOverwrite
|
||||||
from .enums import ChannelType
|
from .enums import ChannelType
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from .mixins import Hashable
|
from .mixins import Hashable
|
||||||
@ -33,7 +33,6 @@ from .role import Role
|
|||||||
from .member import Member
|
from .member import Member
|
||||||
|
|
||||||
Overwrites = namedtuple('Overwrites', 'id allow deny type')
|
Overwrites = namedtuple('Overwrites', 'id allow deny type')
|
||||||
PermissionOverwrite = namedtuple('PermissionOverwrite', 'allow deny')
|
|
||||||
|
|
||||||
class Channel(Hashable):
|
class Channel(Hashable):
|
||||||
"""Represents a Discord server channel.
|
"""Represents a Discord server channel.
|
||||||
@ -162,17 +161,18 @@ class Channel(Hashable):
|
|||||||
return utils.snowflake_time(self.id)
|
return utils.snowflake_time(self.id)
|
||||||
|
|
||||||
def overwrites_for(self, obj):
|
def overwrites_for(self, obj):
|
||||||
"""Returns a namedtuple that gives you the channel-specific overwrites
|
"""Returns the channel-specific overwrites for a member or a role.
|
||||||
for a member or a role.
|
|
||||||
|
|
||||||
The named tuple is a tuple of (allow, deny) :class:`Permissions`
|
|
||||||
with the appropriately named entries.
|
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
-----------
|
-----------
|
||||||
obj
|
obj
|
||||||
The :class:`Role` or :class:`Member` or :class:`Object` denoting
|
The :class:`Role` or :class:`Member` or :class:`Object` denoting
|
||||||
whose overwrite to get.
|
whose overwrite to get.
|
||||||
|
|
||||||
|
Returns
|
||||||
|
---------
|
||||||
|
:class:`PermissionOverwrite`
|
||||||
|
The permission overwrites for this object.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if isinstance(obj, Member):
|
if isinstance(obj, Member):
|
||||||
@ -184,10 +184,11 @@ class Channel(Hashable):
|
|||||||
|
|
||||||
for overwrite in filter(predicate, self._permission_overwrites):
|
for overwrite in filter(predicate, self._permission_overwrites):
|
||||||
if overwrite.id == obj.id:
|
if overwrite.id == obj.id:
|
||||||
return PermissionOverwrite(allow=Permissions(overwrite.allow),
|
allow = Permissions(overwrite.allow)
|
||||||
deny=Permissions(overwrite.deny))
|
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):
|
def permissions_for(self, member):
|
||||||
"""Handles permission resolution for the current :class:`Member`.
|
"""Handles permission resolution for the current :class:`Member`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user