почему не выполняется условие? telebot и будет работать функция в else?

когда приходит сообщение (что вы хотите...) приходится отвечать дважды, а потом приходит опять этоже сообщение, а также будет ли работать функция program в else?

import telebot
    telebot.TeleBot(" токен")
    
    @bot.message_handler(commands=['start', 'help'])
    @bot.message_handler(content_types=['text'])
    def send_welcome(pm):
        send = bot.send_message(pm.chat.id, "что ты хочешь сделать? 1, если поболтать,2, если поиграть и 3, если не знаешь")
        bot.register_next_step_handler(send, program)
    
    def program (pm):
        user_dream = pm.text
        if user_dream == "1":
                @bot.message_handler(func=lambda message: True)
                def aho_all (message):
                    bot.reply_to(message, random.choice( frases ))
        elif user_dream == "2":
            def finder (pm):
                bot.register_next_step_handler(pm.chat.id, "Вводите цитаты из ГП")
                user_fras = pm.text
                if user_fras in frases:
                        bot.register_next_step_handler(pm.chat.id, "Вы угадали")
                else:
                        bot.register_next_step_handler(pm.chat.id, "К сожалению вашей фразы нет")
        else:
                program()
    
    
    bot.infinity_polling()

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