diff options
| author | Rapptz <[email protected]> | 2020-10-17 01:59:00 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-10-17 01:59:00 -0400 |
| commit | 1c03a4aac941b7f661baedfbdf91b531258c58b4 (patch) | |
| tree | bbf2f7b4769f810dd93ca1559fcd4299b6736361 | |
| parent | Properly insert at the end if position is not found when moving. (diff) | |
| download | discord.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.py | 9 |
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. |