Don't use a namedtuple for _Overwrites

Fix #5109
This commit is contained in:
Rapptz 2020-07-08 23:18:13 -04:00
parent baffe564e5
commit 10d1feb3ef

View File

@ -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
@ -162,7 +161,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.