Телеграм бот на PHP. Опрос

308
15 декабря 2017, 04:16

Начал написания собственного бота. Столкнулся с такой проблемой, при вводе команды "/feedback" начинается опрос (фио, возраст и тд), т.е. при просбе вести фио, бот должен ожидать ответа, но я не могу понять как это сделать. Может кто нибудь знает. Связь с помощью WebHook.

Answer 1

Храните текущее состояние пользователя. Проще всего это делать с помощью $_SESSION. Делаете по умолчанию $_SESSION['bot']['state'] = 'normal' и при каждом сообщении просто проверяете - если normal - то обрабатываете как обычно, иначе используете switch ($_SESSION['bot']['state']) и обрабатываете уже как нужно. Т.е. после того как получаете команду /feedback меняете $_SESSION['bot']['state'] = 'feedback' И затем заполняете данные $_SESSION['bot']['feedback']['first'] = 'My first opinion' можете тут же проверять валидность введенного и если не по форме - говорить "Не правильно, нужно в формате...".

Более муторный, но корректный вариант - хранить это все еще и в базе данных, тогда у вас будет база ответов всех пользователей. Да и можно сделать их аутентификацию по логину-паролю и вообще все что душе угодно

READ ALSO
PrestaShop | Update 1.6 до 1.7

PrestaShop | Update 1.6 до 1.7

Всем привет, есть такой вопрос, как можно обновить сайт престы с 16 до 1

265
Не работает explode

Не работает explode

Здравствуйте, есть такой метод в phpПриходит json строка ajaxом($display_months)

199
Относительные имена в namespace

Относительные имена в namespace

Привет всем)) подскажите как правильно сделать

212
Разместить php в тексте одной строкой

Разместить php в тексте одной строкой

Мне надо сделать один текст, который будет размещаться на всех страницах, но в тексте будет вставка с названием товара аналогичным той странице...

231