mirror of
				https://github.com/Rapptz/discord.py.git
				synced 2025-10-31 05:23:03 +00:00 
			
		
		
		
	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