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

Как сделать последовательный ввод в боте?

Здесь нет привязки к языку.
Ну значится вот вопрос

Суть бота: человек нажимает на кнопку "начать тест", затем бот последовательно его спрашивает и записывает ответы.
Пример диалога (б - бот, п - пользователь):
Б: Здравствуйте. Хотите начать? [кнопка начать]
П: [нажимает на кнопку]
Б: [Первый вопрос]
П: [Первый ответ]
Б: Ваш ответ [Первый ответ] записан
[Второй вопрос]
П: [Второй ответ]
...итд

У меня был вариант с базой данных или переменной «сессия», где для каждого пользователя записываются его ответы на вопросы, а также на каком вопросе он сейчас, чтобы вывести следующий вопрос.

Но я пробовал реализовать вариант выше, и получилось как-то криво. Может есть варианты проще?
Все же, если поможет, бота я пишу на Python через pyTelegramBotAPI

P.S. Проблема еще в том, что кроме теста этого там должно быть еще несколько кнопок, при нажатии на которые начинается другой последовательный ввод. То есть просто инкремент запихнуть не поможет...
  • Вопрос задан
  • 2468 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL, Python, Telegram
pyTelegramBotAPI как раз умеет делать step by step и использует для этого файлы. Пример:

https://github.com/eternnoir/pyTelegramBotAPI/blob...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
appliks
@appliks
Работает? Не трогай.
Последовательность команд можно реализовать без бд, а вот результат сохранять куда-то надо. Телеграмм не будет тратить драгоценные байты на такое, так что выпрямляйте ваш вариант. Думаю на тостере всегда рады помочь.
Ответ написан
Может передавать в кнопку callback_data?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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