diff --git a/hydrogram/filters.py b/hydrogram/filters.py index 3273adefa..d791c8de6 100644 --- a/hydrogram/filters.py +++ b/hydrogram/filters.py @@ -455,8 +455,14 @@ def media_spoiler_filter(_, __, m: Message): # region private_filter -def private_filter(_, __, m: Message): - return bool(m.chat and m.chat.type in {enums.ChatType.PRIVATE, enums.ChatType.BOT}) +def private_filter(_, __, m: CallbackQuery | Message): + if isinstance(m, Message): + value = m.chat + elif isinstance(m, CallbackQuery): + value = m.message.chat + else: + raise ValueError(f"Private filter doesn't work with {type(m)}") + return bool(value and value.type in {enums.ChatType.PRIVATE, enums.ChatType.BOT}) private = create(private_filter) @@ -467,8 +473,14 @@ def private_filter(_, __, m: Message): # region group_filter -def group_filter(_, __, m: Message): - return bool(m.chat and m.chat.type in {enums.ChatType.GROUP, enums.ChatType.SUPERGROUP}) +def group_filter(_, __, m: CallbackQuery | Message): + if isinstance(m, Message): + value = m.chat + elif isinstance(m, CallbackQuery): + value = m.message.chat + else: + raise ValueError(f"Group filter doesn't work with {type(m)}") + return bool(value and value.type in {enums.ChatType.GROUP, enums.ChatType.SUPERGROUP}) group = create(group_filter) @@ -479,8 +491,14 @@ def group_filter(_, __, m: Message): # region channel_filter -def channel_filter(_, __, m: Message): - return bool(m.chat and m.chat.type == enums.ChatType.CHANNEL) +def channel_filter(_, __, m: CallbackQuery | Message): + if isinstance(m, Message): + value = m.chat + elif isinstance(m, CallbackQuery): + value = m.message.chat + else: + raise ValueError(f"Channel filter doesn't work with {type(m)}") + return bool(value and value.type == enums.ChatType.CHANNEL) channel = create(channel_filter) diff --git a/hydrogram/storage/sqlite_storage.py b/hydrogram/storage/sqlite_storage.py index 98dcccde1..4aebc32b9 100644 --- a/hydrogram/storage/sqlite_storage.py +++ b/hydrogram/storage/sqlite_storage.py @@ -29,7 +29,6 @@ import aiosqlite from hydrogram import raw, utils -from hydrogram.enums import ChatType from .base import BaseStorage, InputPeer