Ожидание ответа от пользователя (Telegram Bot)

Нужно, чтобы бот ждал, пока пользователь не напишет ответ на свой вопрос

Программа работает, но при запуске , она просто проскакивает все вопросы (все сообщения идут разом)

fap="logs.json"
bot=telebot.TeleBot(TOKEN) 

@bot.edited_message_handler(content_types=["text"])
@bot.message_handler(content_types=["text"]) #Бот ждет сообщение и если происходит событие - текст, он выполняет функцию
def echo_digits(message:Message):

    def task_0(message): # эта часть не доделана 
        answer.append(message.text)

    def task_1(message): # эта часть не доделана 
        answer.append(message.text)
    
    def task_2 (message):
        answer.append(message.text)


    def task_23 (message):
        pass  

    def test(task):
        if task==0:
            msg= bot.send_message (message.chat.id, "dummy text here")
            bot.register_next_step_handler(msg,task_0) # должен перекидывать пользователю к след вопросу и ждать его ответа (что он и не делает)
            task+=1
            test(task)
        
        elif task==1:
            msg = bot.reply_to(message, "And here too.")
            bot.register_next_step_handler(msg,task_1) 
            task+=1
            test(task)
        
        elif task==2:
            markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
            markup.add('Да', 'Нет')
            msg = bot.reply_to(message, "Tri-Dva-Odin", reply_markup=markup)

            bot.register_next_step_handler(msg, task_2)
            task+=1
            test(task)

        elif task==3:
            markup = types.ReplyKeyboardMarkup(one_time_keyboard=True)
            markup.add('Да', 'Нет')
            msg = bot.reply_to(message, "Raz-Dva-Tri", reply_markup=markup)

            bot.register_next_step_handler(msg, task_2)
            task+=1
            test(task)

        elif task==23: # эта часть еще не готова
            msg = bot.send_message(message.chat.id, "Давай узнаем твои результаты")
            bot.register_next_step_handler(msg, task_23)

        else :
            bot.send_message(message.chat.id, "sorry snake")





    ID= str(message.from_user.id) # ID пользователя 

    if message.from_user:
        with open (fap, "r") as f:
            firs=json.load(f)

        if ID in firs:
            pass # думаю здесь ничего не надо вкючать
        else:
            with open (fap, "w") as f: #идет запись пользователя в файл
                firs[ID]["task"]=0
                firs[ID]["answers"]=[]
                json.dump(firs,f)
        
        task=firs[ID]["task"] # нужен для номера задания
        answer=firs[ID]["answers"]

        if task==23:
            pass
        else:
            test(task)

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