aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRapptz <[email protected]>2020-10-17 01:59:00 -0400
committerRapptz <[email protected]>2020-10-17 01:59:00 -0400
commit1c03a4aac941b7f661baedfbdf91b531258c58b4 (patch)
treebbf2f7b4769f810dd93ca1559fcd4299b6736361
parentProperly insert at the end if position is not found when moving. (diff)
downloaddiscord.py-1c03a4aac941b7f661baedfbdf91b531258c58b4.tar.xz
discord.py-1c03a4aac941b7f661baedfbdf91b531258c58b4.zip
Evict keys when they're set to None in PermissionOverwrite
Fixes #5929
-rw-r--r--discord/permissions.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/discord/permissions.py b/discord/permissions.py
index 9bd9f4e7..aee76fe6 100644
--- a/discord/permissions.py
+++ b/discord/permissions.py
@@ -484,7 +484,10 @@ class PermissionOverwrite:
if value not in (True, None, False):
raise TypeError('Expected bool or NoneType, received {0.__class__.__name__}'.format(value))
- self._values[key] = value
+ if value is None:
+ self._values.pop(key, None)
+ else:
+ self._values[key] = value
def pair(self):
"""Tuple[:class:`Permissions`, :class:`Permissions`]: Returns the (allow, deny) pair from this overwrite."""
@@ -519,13 +522,13 @@ class PermissionOverwrite:
An empty permission overwrite is one that has no overwrites set
to ``True`` or ``False``.
-
+
Returns
-------
:class:`bool`
Indicates if the overwrite is empty.
"""
- return all(x is None for x in self._values.values())
+ return len(self._values) == 0
def update(self, **kwargs):
r"""Bulk updates this permission overwrite object.