Как сделать так, чтобы декоратор @bot.message_handler прекращал свою работу?

Запланировал написать викторину в телеграм боте. Мне нужно, чтобы после того, как человек написал правильный ответ на первый вопрос, задекорированная функция прекращала работать, а начинала работать другая функция. По логике программы вроде все верно, но он продолжает обрабатывать именно первый декоратор. Что подскажите?

Вот конструктор самого кода:

import telebot
from telebot import types

bot = telebot.TeleBot("TOKEN")

@bot.message_handler(commands=["start"])
def start(message):
    murkup = types.InlineKeyboardMarkup(row_width=1)
    button1 = types.InlineKeyboardButton('Начать!', callback_data="start")
    murkup.add(button1)
    bot.send_message(message.chat.id, "Привет, {0.first_name}!\n"
                                  "Начинаем квест!".format(message.from_user), reply_markup= 
murkup)

@bot.callback_query_handler(func=lambda call: True)
def start(call):
    if call.data == "start":
        bot.send_message(call.message.chat.id, f'вот первый вопрос')

        @bot.message_handler()
        def answer (message):
            mes = message.text
            mes = mes.lower()
            if mes == "правильный ответ":
                murkup = types.InlineKeyboardMarkup(row_width=1)
                button1 = types.InlineKeyboardButton('Следующий вопрос', сallback_data="second_question")
                murkup.add(button1)
                bot.send_message(message.chat.id, f'Это правильный ответ!', reply_markup= murkup)
            else:
                bot.send_message(message.chat.id, f'Неправильно! думай еще!')

    elif call.data == "second_question":
        bot.send_message(call.message.chat.id, f'Вот тут второй вопрос')

        @bot.message_handler()
        def two_answer (message):
            mes = message.text
            mes = mes.lower()
            if mes == "правильный ответ":
                bot.send_message(message.chat.id, f'Это правильный ответ!')
            else:
                bot.send_message(message.chat.id, f'Неправильно! думай еще!')


bot.polling(non_stop=True)

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

Автор решения: mazik7512

Вместо вложенных в друг друга хендлеров, вам нужно использовать функцию register_next_step_handler(message, next_handler).

Вот отличное описание данной функции

→ Ссылка