Последовательная цепочка в Telegram Bot Api на php

Всем, доброго времени суток! Стоит такая цель:

  1. Команда /new отправляет пользователю текст "Введите номер заявки"
  2. Пользователь должен ввести номер заявка
  3. Бот отправляет сообщение "Введите комментарий к заявке"
  4. Пользователь отправляет боту комментарий
  5. Бот отправляет сообщение "Отправьте фотографию"
  6. Пользователь отправляет фотографию

Затем все входные данные пользователя должны сохраниться в базу данных.

Я использую Laravel с пакетом irazasyed/telegram-bot-sdk

Пробовал через команды реализовать, но я должен передать аргумент когда пишу команду "/new 156" например, данный вариант не подходит. Через условия в вебхуке не совсем допираю как сохранять все входные параметры.

Подскажите в каком направлении двигаться и если есть возможность примерный код.

Я искал как ожидать ввода пользователя в командах но так ничего и не нашел.


Ответы (2 шт):

Автор решения: Cyrtolat

Эта задача легко решается через пакет BotMan studio.

→ Ссылка
Автор решения: Alexandr Opekunov
  1. Пользователь пишет боту /new XXXXX
  2. В сообщении, которое прилетело в вебхук выбираешь текст и удаляешь из него '/new ', самое простое - $order = str_replace('/new ', '', $input)
  3. $order - номер заявки. Сохраняешь в базу/Redis номер заявки и telegram_id пользователя (тоже берешь из входных данных)
  4. Ну дальше у тебя есть ID пользователя в телеграмме и номер заявки. Можешь через условия проверять что пользователь пишет, находить его в базе и смотреть его заявку
→ Ссылка