Последовательная цепочка в Telegram Bot Api на php
Всем, доброго времени суток! Стоит такая цель:
- Команда /new отправляет пользователю текст "Введите номер заявки"
- Пользователь должен ввести номер заявка
- Бот отправляет сообщение "Введите комментарий к заявке"
- Пользователь отправляет боту комментарий
- Бот отправляет сообщение "Отправьте фотографию"
- Пользователь отправляет фотографию
Затем все входные данные пользователя должны сохраниться в базу данных.
Я использую Laravel с пакетом irazasyed/telegram-bot-sdk
Пробовал через команды реализовать, но я должен передать аргумент когда пишу команду "/new 156" например, данный вариант не подходит. Через условия в вебхуке не совсем допираю как сохранять все входные параметры.
Подскажите в каком направлении двигаться и если есть возможность примерный код.
Я искал как ожидать ввода пользователя в командах но так ничего и не нашел.
Ответы (2 шт):
Автор решения: Alexandr Opekunov
→ Ссылка
- Пользователь пишет боту /new XXXXX
- В сообщении, которое прилетело в вебхук выбираешь текст и удаляешь из него '/new ', самое простое -
$order = str_replace('/new ', '', $input) - $order - номер заявки. Сохраняешь в базу/Redis номер заявки и telegram_id пользователя (тоже берешь из входных данных)
- Ну дальше у тебя есть ID пользователя в телеграмме и номер заявки. Можешь через условия проверять что пользователь пишет, находить его в базе и смотреть его заявку