mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
CallbackQuery fixes for custom filters
Now some custom filters support callback query messages
This commit is contained in:
parent
388306b7fe
commit
1df19e3b2d
@ -201,6 +201,8 @@ class ChatFilter(AdvancedCustomFilter):
|
||||
key = 'chat_id'
|
||||
|
||||
async def check(self, message, text):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
return message.message.chat.id in text
|
||||
return message.chat.id in text
|
||||
|
||||
|
||||
@ -216,7 +218,7 @@ class ForwardFilter(SimpleCustomFilter):
|
||||
key = 'is_forwarded'
|
||||
|
||||
async def check(self, message):
|
||||
return message.forward_from_chat is not None
|
||||
return message.forward_date is not None
|
||||
|
||||
|
||||
class IsReplyFilter(SimpleCustomFilter):
|
||||
@ -231,6 +233,8 @@ class IsReplyFilter(SimpleCustomFilter):
|
||||
key = 'is_reply'
|
||||
|
||||
async def check(self, message):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
return message.message.reply_to_message is not None
|
||||
return message.reply_to_message is not None
|
||||
|
||||
|
||||
@ -266,6 +270,9 @@ class IsAdminFilter(SimpleCustomFilter):
|
||||
self._bot = bot
|
||||
|
||||
async def check(self, message):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
result = await self._bot.get_chat_member(message.message.chat.id, message.from_user.id)
|
||||
return result.status ('creator', 'administrator')
|
||||
result = await self._bot.get_chat_member(message.chat.id, message.from_user.id)
|
||||
return result.status in ['creator', 'administrator']
|
||||
|
||||
|
@ -208,6 +208,8 @@ class ChatFilter(AdvancedCustomFilter):
|
||||
key = 'chat_id'
|
||||
|
||||
def check(self, message, text):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
return message.message.chat.id in text
|
||||
return message.chat.id in text
|
||||
|
||||
|
||||
@ -223,7 +225,7 @@ class ForwardFilter(SimpleCustomFilter):
|
||||
key = 'is_forwarded'
|
||||
|
||||
def check(self, message):
|
||||
return message.forward_from_chat is not None
|
||||
return message.forward_date is not None
|
||||
|
||||
|
||||
class IsReplyFilter(SimpleCustomFilter):
|
||||
@ -238,6 +240,8 @@ class IsReplyFilter(SimpleCustomFilter):
|
||||
key = 'is_reply'
|
||||
|
||||
def check(self, message):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
return message.message.reply_to_message is not None
|
||||
return message.reply_to_message is not None
|
||||
|
||||
|
||||
@ -273,6 +277,8 @@ class IsAdminFilter(SimpleCustomFilter):
|
||||
self._bot = bot
|
||||
|
||||
def check(self, message):
|
||||
if isinstance(message, types.CallbackQuery):
|
||||
return self._bot.get_chat_member(message.message.chat.id, message.from_user.id).status in ['creator', 'administrator']
|
||||
return self._bot.get_chat_member(message.chat.id, message.from_user.id).status in ['creator', 'administrator']
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user