Telebot. Как принять ввод внутри callback_query_handler?

Пишу телеграм-бота используя модуль TeleBot.

В теле функции обрабатываются нажатия на кнопки InlineKeyboardMarkup. Но внутри нее есть условный блок: "если нажата, кнопка с callback_data = ok, то...", где в блоке else необходимо дождаться ввода от пользователя.

@bot.callback_query_handler(func = lambda callback: callback.data)
def check_callback(callback):
    if (callback.data == 'ok'):
        if not weekdays_list:
            bot.send_message(callback.message.chat.id, "Нажмите хотя бы одну кнопку.")
    else:
        bot.send_message(callback.message.chat.id, "Введите, пожалуйста, в какое время необходимо оповещать, в формате 'hhmm'.")

Пробовал так: (создавал в конце программы, перед bot.infinity_polling() функцию answer)

@bot.callback_query_handler(func = lambda callback: callback.data)
def check_callback(callback):
    if (callback.data == 'ok'):
        if not weekdays_list:
            bot.send_message(callback.message.chat.id, "Нажмите хотя бы одну кнопку.")
    else:
        msg = bot.send_message(callback.message.chat.id, "Введите, пожалуйста, в какое время необходимо оповещать, в формате 'hhmm'.")
        bot.register_next_step_handler(msg, answer)

def answer():
    print ('Ого, работает!')

bot.infinity_polling()

И так:

@bot.message_handler(content_types = ['text'])
def answer(message):
    print ('Ого, работает!')

@bot.callback_query_handler(func = lambda callback: callback.data)
def check_callback(callback):
    if (callback.data == 'ok'):
        if not weekdays_list:
            bot.send_message(callback.message.chat.id, "Нажмите хотя бы одну кнопку.")
    else:
        msg = bot.send_message(callback.message.chat.id, "Введите, пожалуйста, в какое время необходимо оповещать, в формате 'hhmm'.")
        bot.register_next_step_handler(msg, answer)

И еще так:

@bot.callback_query_handler(func = lambda callback: callback.data)
def check_callback(callback):
    if (callback.data == 'ok'):
        if not weekdays_list:
            bot.send_message(callback.message.chat.id, "Нажмите хотя бы одну кнопку.")
    else:
        msg = bot.send_message(callback.message.chat.id, "Введите, пожалуйста, в какое время необходимо оповещать, в формате 'hhmm'.")
        bot.register_next_step_handler(msg, answer)

        @bot.message_handler(content_types = ['text'])
        def answer(message):
            print ('Ого, работает!')

Прошу подсказать, каким образом можно реализовать?

Спасибо за уделенное время!


Ответы (0 шт):