Вставьте данные шаг за шагом в бот Telegram
Я создаю телеграм бот с php. Мне нужно позволить пользователю вставлять данные шаг за шагом, когда они запускают команду /order
, Я делаю пример:
Пользователь: / order
Бот: я помогу тебе сделать заказ
Бот: введите имя
Пользователь: Ciccio (он набрал имя)
Бот: Хорошо, теперь введите свою фамилию
Пользователь: Pasticcio (он набрал фамилию)
и так далее...
Я думал, что я был в правильном пути для достижения своей цели... но не... что-то не работает... Вот мой код:
elseif(strcmp($text, "/order") === 0) <-Here the command
{
$response =
"I will help you.\n"
."\n"
."Insert your name:";
$parameters = ['chat_id' => $chatId, "text" => $response, "parse_mode" => "Markdown"];
$parameters["method"] = "sendMessage";
echo json_encode($parameters);
$action_parameters = ['chat_id' => $chatId, "action" => "typing"];
$action_parameters["method"] = "sendChatAction";
echo json_encode($action_parameters);
$parameters2 = array('chat_id' => $chatId, "text" => "good! Now insert the surname");
$parameters2["method"] = "sendMessage";
echo json_encode($parameters2);
}
код останавливается после того, как я визуализирую первое сообщение... это как после того, как я делаю свой первый echo json_encode($parameters);
код больше не выполняется...
Как я могу достичь своей цели?
Спасибо
2 ответа
Используете ли вы ответ JSON при получении обновлений Webhook?
Если да, вам нужно сделать запрос, а не распечатывать его в HTTP Response Body и регистрировать ввод пользователя в свою собственную базу данных.
Для любого сообщения, получаемого вашим ботом, вы проверяете шаг пользователя в своем боте и отправляете правильную функцию (поэтому правильный вопрос).
Для этого вы должны хранить шаги пользователей. Пожалуйста, прочитайте мой ответ на этот вопрос.