diff --git a/telebot/asyncio_storage/memory_storage.py b/telebot/asyncio_storage/memory_storage.py index 58a6e35..45c2ad9 100644 --- a/telebot/asyncio_storage/memory_storage.py +++ b/telebot/asyncio_storage/memory_storage.py @@ -8,7 +8,7 @@ class StateMemoryStorage(StateStorageBase): async def set_state(self, chat_id, user_id, state): - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if chat_id in self.data: if user_id in self.data[chat_id]: diff --git a/telebot/asyncio_storage/pickle_storage.py b/telebot/asyncio_storage/pickle_storage.py index dd6419e..4928d4a 100644 --- a/telebot/asyncio_storage/pickle_storage.py +++ b/telebot/asyncio_storage/pickle_storage.py @@ -1,7 +1,6 @@ from telebot.asyncio_storage.base_storage import StateStorageBase, StateContext import os - import pickle @@ -47,7 +46,7 @@ class StatePickleStorage(StateStorageBase): file.close() async def set_state(self, chat_id, user_id, state): - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if chat_id in self.data: if user_id in self.data[chat_id]: diff --git a/telebot/asyncio_storage/redis_storage.py b/telebot/asyncio_storage/redis_storage.py index f2a2606..0cf52b9 100644 --- a/telebot/asyncio_storage/redis_storage.py +++ b/telebot/asyncio_storage/redis_storage.py @@ -1,6 +1,7 @@ from telebot.asyncio_storage.base_storage import StateStorageBase, StateContext import json + redis_installed = True try: import aioredis @@ -65,7 +66,7 @@ class StateRedisStorage(StateStorageBase): """ response = await self.get_record(chat_id) user_id = str(user_id) - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if response: if user_id in response: diff --git a/telebot/storage/memory_storage.py b/telebot/storage/memory_storage.py index 45d4da3..67cd984 100644 --- a/telebot/storage/memory_storage.py +++ b/telebot/storage/memory_storage.py @@ -1,5 +1,6 @@ from telebot.storage.base_storage import StateStorageBase, StateContext + class StateMemoryStorage(StateStorageBase): def __init__(self) -> None: self.data = {} @@ -8,7 +9,7 @@ class StateMemoryStorage(StateStorageBase): def set_state(self, chat_id, user_id, state): - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if chat_id in self.data: if user_id in self.data[chat_id]: diff --git a/telebot/storage/pickle_storage.py b/telebot/storage/pickle_storage.py index a273690..39b10a3 100644 --- a/telebot/storage/pickle_storage.py +++ b/telebot/storage/pickle_storage.py @@ -1,7 +1,6 @@ from telebot.storage.base_storage import StateStorageBase, StateContext import os - import pickle @@ -53,7 +52,7 @@ class StatePickleStorage(StateStorageBase): file.close() def set_state(self, chat_id, user_id, state): - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if chat_id in self.data: if user_id in self.data[chat_id]: diff --git a/telebot/storage/redis_storage.py b/telebot/storage/redis_storage.py index ff21b6e..23a1f43 100644 --- a/telebot/storage/redis_storage.py +++ b/telebot/storage/redis_storage.py @@ -65,7 +65,7 @@ class StateRedisStorage(StateStorageBase): """ response = self.get_record(chat_id) user_id = str(user_id) - if isinstance(state, object): + if hasattr(state, 'name'): state = state.name if response: