From d466da35428d297eb86d95694ff3c7a671482493 Mon Sep 17 00:00:00 2001 From: Cub11k Date: Fri, 14 Apr 2023 22:00:42 +0300 Subject: [PATCH] Add state_list to StatesGroup --- telebot/asyncio_handler_backends.py | 5 +++++ telebot/handler_backends.py | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/telebot/asyncio_handler_backends.py b/telebot/asyncio_handler_backends.py index 96e13ee..99a7b17 100644 --- a/telebot/asyncio_handler_backends.py +++ b/telebot/asyncio_handler_backends.py @@ -81,6 +81,11 @@ class StatesGroup: value.name = ':'.join((cls.__name__, name)) value.group = cls + @property + def state_list(self): + return [value for name, value in self.__dict__.items() + if not name.startswith('__') and not callable(value) and isinstance(value, State)] + class SkipHandler: """ diff --git a/telebot/handler_backends.py b/telebot/handler_backends.py index be2714c..fda6997 100644 --- a/telebot/handler_backends.py +++ b/telebot/handler_backends.py @@ -191,7 +191,12 @@ class StatesGroup: value.name = ':'.join((cls.__name__, name)) value.group = cls - + @property + def state_list(self): + return [value for name, value in self.__dict__.items() + if not name.startswith('__') and not callable(value) and isinstance(value, State)] + + class BaseMiddleware: """ Base class for middleware.