Как передать в register_callback_query_handler сам callback и название функции которая должна запускаться при передачи n-ого callback

Рейтинг: 0Ответов: 1Опубликовано: 18.02.2023

Как передать в register_callback_query_handler сам callback и название функции которая должна запускаться при передачи n-ого callback?

def register_callback_handler(dp: Dispatcher):
    dp.register_callback_query_handler(callback="SignUp_Student", run_task="Student_SignUp")

Ответы

▲ 0
def callback_handler(callback_query: types.CallbackQuery, callback_data: dict, run_task: str):
    # Обработка callback_query
    # ...
    asyncio.create_task(run_task())

def register_callback_handler(dp: Dispatcher):
    dp.register_callback_query_handler(
        callback_handler,
        lambda callback_query: callback_query.data == "SignUp_Student",
        run_task=Student_SignUp
    )

callback_handler - это функция обратного вызова, которая будет вызываться при нажатии на определенный callback, а Student_SignUp - это функция, которая должна быть запущена.

В функции callback_handler вы можете обработать параметры callback_query и callback_data, и затем запустить функцию run_task в асинхронном режиме, используя asyncio.create_task(run_task())