register_callback_query_handler в aiogram
Есть модуль handlers.py.
Пытаюсь сделать регистрацию в файл main.py . Работает всё, за исключением хендлера с выбором даты через календарь.Сам хендлер c календарем и выбором\записью даты работает.Просто не пойму как зарегистрировать и перенести
Пример:
dp.register_message_handler(process_start_command, commands=["start"])
dp.register_message_handler(help_command, commands=["help"])
dp.register_message_handler(answer_text, state=Promises.promis_text)
dp.register_callback_query_handler(answer_date,state=Promises.promis_date).
TypeError: answer_date() missing 1 required positional argument: 'callback_data'
Но как засунуть callback_dat'у в него- так и не понял.
Вот сам хендлер.
# @dp.callback_query_handler(simple_cal_callback.filter())
async def answer_date(call: types.CallbackQuery, callback_data: dict, state: FSMContext):
selected, date = await SimpleCalendar().process_selection(call, callback_data)
if selected:
await Promises.promis_date.set()
await state.update_data(deadline=f'{date.strftime("%Y.%m.%d")}')
data = await state.get_data()
await db_admin.sql_add(data)
await state.finish()
if db_admin.sql_deadline(call.from_user.id)[0] < now.strftime("%Y.%m.%d"):
await bot.send_message(call.from_user.id, "Вы выбрали уже прошедшее время.Обещание не было создано")
db_admin.sql_delete(call.from_user.id)
Ответы (1 шт):
Автор решения: Bakhtiyor Elboyev
→ Ссылка
Вам нужно добавить simple_cal_callback.filter() в register_callback_query_handler.
dp.register_callback_query_handler(answer_date,
simple_cal_callback.filter(),
state=customstate)