mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
27 lines
893 B
Python
27 lines
893 B
Python
![]() |
from telebot import types
|
||
|
from telebot.async_telebot import AsyncTeleBot
|
||
|
from telebot.asyncio_filters import AdvancedCustomFilter
|
||
|
from telebot.callback_data import CallbackData, CallbackDataFilter
|
||
|
|
||
|
calendar_factory = CallbackData("year", "month", prefix="calendar")
|
||
|
calendar_zoom = CallbackData("year", prefix="calendar_zoom")
|
||
|
|
||
|
|
||
|
class CalendarCallbackFilter(AdvancedCustomFilter):
|
||
|
key = 'calendar_config'
|
||
|
|
||
|
async def check(self, call: types.CallbackQuery, config: CallbackDataFilter):
|
||
|
return config.check(query=call)
|
||
|
|
||
|
|
||
|
class CalendarZoomCallbackFilter(AdvancedCustomFilter):
|
||
|
key = 'calendar_zoom_config'
|
||
|
|
||
|
async def check(self, call: types.CallbackQuery, config: CallbackDataFilter):
|
||
|
return config.check(query=call)
|
||
|
|
||
|
|
||
|
def bind_filters(bot: AsyncTeleBot):
|
||
|
bot.add_custom_filter(CalendarCallbackFilter())
|
||
|
bot.add_custom_filter(CalendarZoomCallbackFilter())
|