diff --git a/telebot/asyncio_filters.py b/telebot/asyncio_filters.py index 6c1fc4b..037ec9d 100644 --- a/telebot/asyncio_filters.py +++ b/telebot/asyncio_filters.py @@ -1,5 +1,6 @@ from abc import ABC from typing import Optional, Union +from telebot.asyncio_handler_backends import State from telebot import types @@ -280,10 +281,10 @@ class StateFilter(AdvancedCustomFilter): if isinstance(text, list): new_text = [] for i in text: - if isclass(i): i = i.name + if isinstance(i, State): i = i.name new_text.append(i) text = new_text - elif isinstance(text, object): + elif isinstance(text, State): text = text.name if message.chat.type == 'group': diff --git a/telebot/custom_filters.py b/telebot/custom_filters.py index 0305673..6d69865 100644 --- a/telebot/custom_filters.py +++ b/telebot/custom_filters.py @@ -1,5 +1,6 @@ from abc import ABC from typing import Optional, Union +from telebot.handler_backends import State from telebot import types @@ -284,10 +285,10 @@ class StateFilter(AdvancedCustomFilter): if isinstance(text, list): new_text = [] for i in text: - if isclass(i): i = i.name + if isinstance(i, State): i = i.name new_text.append(i) text = new_text - elif isinstance(text, object): + elif isinstance(text, State): text = text.name if message.chat.type == 'group': group_state = self.bot.current_states.get_state(message.chat.id, message.from_user.id)