@Baradys

Как сделать так, чтобы телеграмм бот выводил результат(list) частями?

Каждые 5 итераций бот должен спрашивать, продолжать выводить результаты, либо закончить работу. Не получается подключить машину состояний в цикл.
with open(f'data/{resource}-{message.from_user["id"]}.json', encoding='utf-8') as file:
        data = json.load(file)
    page_counter = 1
    for item in data:
        if page_counter % 5 == 0:
            await bot.send_message(message.from_user.id, 'Показать еще 5 элементов?', reply_markup=page_keyboard())
            async with state.proxy() as data:
                if data['search'] == 'no':
                    break
        #обработка результатов
        await message.answer(card)
        page_counter += 1

Такой код, естественно, не работает, так как мы не останавливаемся для ожидания ответа от пользователя.
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
nki
@nki
bezkart.ru готовая система лояльности
Выводи свои 5 элементов. К сообщению прикрепи инлайн кнопки - "вперед" и "назад" и обрабатывай их нажатие для вывод следующих порций данных.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы