в боте телеграммы (php), как определить связь между сообщением, которое отправляется пользователю, и пользователем, написавшим ответ? как я могу определить, является ли это ответом на этот текст в коде бота телеграммы, например, сначала я помещаю 5 кнопок, и когда пользователь нажимает каждую кнопку, пользователь должен ввести текст, который я хочу определить, это ответ конкретной кнопки. как я могу определить это с помощью php?
бот-телеграмма с php (отношение отправки сообщения и получения сообщения от пользователя)
Ответы (2)
Когда пользователь выбирает один вопрос из меню бота, сохраняет его в базе данных. например, пользователь выбирает «вопрос2»:
storLastPlace($userId,'question2');
Когда приходит новое сообщение боту от этого пользователя, проверьте его на последнем месте и выполните соответствующие действия, например:
$lastPlace = getLastPlace($userId); if($lastPlace){ switch ($lastPlace) { case 'question1': // recive answer1 break; case 'question2': // recive answer1 break; } }
person
Sadegh PM
schedule
18.09.2015
спасибо, это хорошее решение для веб-сервисов, но мы можем использовать словарь в C Sharp, а затем, если программа дала сбой и не сохраняется в базе данных, при перезапуске программы вернитесь назад, повторите и снова просканируйте последний нежелательный запрос, чтобы получить ответ один раз. ваше решение лучше, но когда у нас так много запросов, у нас большая нагрузка на сервер базы данных...
- person saber tabatabaee yazdi; 20.11.2015
@saber-tabatabaee-yazdi, вопрос о php, а в php нет словаря.
- person Sadegh PM; 08.11.2018
Если я правильно понял вашу проблему, вы можете создать таблицу/коллекцию в своей базе данных и сохранить последнее отправленное сообщение с Telegram ID пользователя, это может быть так:
{
userID : xxxxxx
lastMessageSent : Button1
}
person
Amir
schedule
12.09.2015