Задать вопрос
@Mlkw

Как использовать bot_register_next_step_handler в цикле?

У меня есть список элементов в корзине пользователя, мне необходимо сверить количество товара в корзине с тем, что в наличии. Я осуществляю итерацию по элементам списка с помощью цикла for. Если количество в корзине больше, чем в наличии, то я запрашиваю у пользователя ответ с помощью bot.register_next_step_handler, желает ли он приобрести данный товар. Но в процессе выполнения не происходит ожидания ответа от пользователя и код продолжает выполняться дальше по циклу. Как в цикле for реализовать возможность эту функционала или можно ли это сделать другими методами?
for i in row:
    elif int(num[0])<int(i[5]): #Если количество товара в наличии меньше, чем в корзине
    msg = bot.send_message(message.chat.id, "К сожаление товар " + str(i[3]) + " из категории " + str(i[2]) + находится в меньшем 
    количестве в наличии, чем у вас в корзине (" + str(num[0]) + " шт.) \nЖелаете приобрести товар в данном количестве?", 
    reply_markup = formation)
    messageidfordel = msg.message_id  
    def moreavailable(message):
        if solution == 'Нет':
            ...
   bot.register_next_step_handler(msg, moreavailable)

И в итоге получается, что не дожидаясь ответа от пользователя, код внутри функции игнорируется и дальше продолжается итерация по элементам списка row
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы