Как получить ответ без команды пользователя в PHP Telegram Bot?
Я пишу новый бот для Telegram впервые с использованием PHP Telegram Bot.
Представь, что я хочу показать What is your name?
за /start
введите команду и дождитесь ответа пользователя, дождитесь ответа пользователя и затем покажите Hello USER_NAME
Для него.
Я мог бы реализовать /start
команды. Но как я могу получить ответ пользователя, который не в форме /command
? На самом деле мне нужен слушатель некомандного сообщения.
Есть кто-нибудь, кто может мне помочь?
2 ответа
Мохаммед Ян,
Вы должны сделать это самостоятельно. Я предлагаю вам сохранить чаты в таблице базы данных, а затем сохранить следующую команду в столбце для каждого чата.
Скажем после /start
вы ищете имя пользователя, поэтому вы будете хранить /name
в столбец next_command и всякий раз, когда вы получаете нормальное сообщение без каких-либо /command
затем вы можете проверить столбец next_command и считать полученное сообщение ответом на вопрос "Как вас зовут?" вопрос.
Вы можете продолжить этот процесс, чтобы получить полные данные от пользователя. Например, после получения имени вы можете спросить "Сколько вам лет?" и изменить next_command
в /old
а затем рассмотрите следующее сообщение как ответ на предыдущий вопрос.
Кстати, это всего лишь предложение. Вы должны быть в состоянии найти способ, который подходит для вас. Но что очевидно, вы должны сделать это сами, так как telegram предоставляет сообщения только вашему боту, а ваш бот управляет ими.
Надеюсь, поможет.
Зайдите в @BotFather и отключите режим конфиденциальности
/setprivacy
- Установите, какие сообщения будет получать ваш бот при добавлении в группу. Если режим конфиденциальности отключен, бот будет получать все сообщения.