From aeb2cfb5730031ecd4d35badb3a80e08f97f3028 Mon Sep 17 00:00:00 2001 From: Rapptz <rapptz@gmail.com> Date: Fri, 28 May 2021 01:56:48 -0400 Subject: [PATCH] Add private get_slots utility to get slots through MRO --- discord/utils.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/discord/utils.py b/discord/utils.py index 3682cffd9..37e635bc5 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -502,6 +502,14 @@ async def sane_wait_for(futures, *, timeout): return done +def get_slots(cls: Type[Any]) -> Iterator[str]: + for mro in reversed(cls.__mro__): + try: + yield from mro.__slots__ + except AttributeError: + continue + + def compute_timedelta(dt: datetime.datetime): if dt.tzinfo is None: dt = dt.astimezone()