2017-02-21 8 views
4

Я знаю, как использовать команды телеграммы и знаю, как читать, какая команда была выполнена. То, что я хотел бы сделать что-то вроде этого:телеграмм ботов, как запросить ввод от пользователя?

User: /send_address 
Bot: Hello, please type your address.. 
User: my address... 

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

ответ

6

Как я знаю, телеграмма не имеет способа сохранить состояние для пользователя. Я использую таблицу в базе данных для сохранения кодов пользователя.

Как это работает:

  1. Пользователь сказал команда/
  2. магазин/команды для пользователя.
  3. Пользователь говорит «что-то», мы пытаемся получить данные из базы данных для этого пользователя. Если мы выясним, что предыдущим сообщением является команда/команда, чем некоторые действия и сохранить теперь добавленные данные (если у вас несколько шагов для некоторой команды)
Смежные вопросы