Здравствуйте, коллеги. Есть данные, которые при поступлении в php://input данных обрабатывается инструкциями в php-файле.
В данном примере
function processMessage($message) {
$message_id = $message['message_id'];
$chat_id = $message['chat']['id'];
if (isset($message['text'])) {
$text = $message['text'];
$lastcom = $text;
if ($text === "/start") {
apiRequestJson("sendMessage", array('chat_id' => $chat_id, "text" => '
Привет! Вы стартовали бота!
', 'parse_mode' => 'Markdown'));
}
else if ($text === "/stop") {
apiRequestJson("sendMessage", array('chat_id' => $chat_id, "text" => '
Вы остановили бота!
', 'parse_mode' => 'Markdown'));
}
else if ($text === "Оставить отзыв") {
apiRequestJson("sendMessage", array('chat_id' => $chat_id, "text" => '
Оставьте свой отзыв:
', 'parse_mode' => 'Markdown'));
}
// любой текст, который поступает после команды "Оставить отзыв" должен записываться в файл, пока не будет введено "Стоп"
}
}
$content = file_get_contents("php://input");
$update = json_decode($content, true);
if (!$update) {
// receive wrong update, must not happen
exit;
}
//если message не является пустым, то отправляем сообщение
if (isset($update["message"])) {
processMessage($update["message"]);
}
Вопрос такой. Мне нужно добавить команду "Оставить отзыв". То есть, как только бот получает текст "Оставить отзыв" — далее всё, что ему отправляется, допустим, записывается в файл.
Любое поступившее сообщение после того, как человек отправил "Оставить отзыв" записывается в файл. То есть выполняется цикл, до тех пор пока человек не введет "Стоп".
Как только бот получает команду "Стоп", он прекращает выполнение инструкций, которые идут после "Оставить отзыв", и уже свободно реагирует на любой введенный текст. Команда "Оставить отзыв" прекращается.
Куда именно должен вставляться код, который бесконечно выполняется, пока не поступит команда "Стоп"?