Make Channel.overwrites_for return PermissionOverwrite
This commit is contained in:
		@@ -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`.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user