diff options
| author | Rapptz <[email protected]> | 2020-07-08 23:18:13 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-07-08 23:18:13 -0400 |
| commit | 0bc15fa130b8f01fe2d67446a2184d474b0d0ba7 (patch) | |
| tree | cc75c17befbc81c3ad4cce71cb540978f57742c6 | |
| parent | Fix TypeError when not specifying roles. (diff) | |
| download | discord.py-0bc15fa130b8f01fe2d67446a2184d474b0d0ba7.tar.xz discord.py-0bc15fa130b8f01fe2d67446a2184d474b0d0ba7.zip | |
Don't use a namedtuple for _Overwrites
Fix #5109
| -rw-r--r-- | discord/abc.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/discord/abc.py b/discord/abc.py index 41bde709..dbfd3760 100644 --- a/discord/abc.py +++ b/discord/abc.py @@ -27,7 +27,6 @@ DEALINGS IN THE SOFTWARE. import abc import copy import asyncio -from collections import namedtuple from .iterators import HistoryIterator from .context_managers import Typing @@ -163,7 +162,22 @@ class PrivateChannel(metaclass=abc.ABCMeta): return NotImplemented return NotImplemented -_Overwrites = namedtuple('_Overwrites', 'id allow deny type') +class _Overwrites: + __slots__ = ('id', 'allow', 'deny', 'type') + + def __init__(self, **kwargs): + self.id = kwargs.pop('id') + self.allow = kwargs.pop('allow', 0) + self.deny = kwargs.pop('deny', 0) + self.type = kwargs.pop('type') + + def _asdict(self): + return { + 'id': self.id, + 'allow': self.allow, + 'deny': self.deny, + 'type': self.type, + } class GuildChannel: """An ABC that details the common operations on a Discord guild channel. |