Я пишу бота для обмена сообщениями в Facebook и пытаюсь сохранить текстовый ответ после обратной передачи. Я имею в виду, что у меня есть сообщение, которое отправляет сообщение обратно, и в зависимости от того, какой вариант они выберут, они могут напечатать сообщение в ответ, и я сохраняю этот текст. Проблема в том, что я хочу сохранить этот текст только после того, как они выберут опцию для обратного сообщения. Также текст может быть любым, поэтому я не могу написать для него оператор if.
Вот мой код:
app.post('/', function (req, res) {
messaging_events = req.body.entry[0].messaging;
for (i = 0; i < messaging_events.length; i++) {
event = req.body.entry[0].messaging[i];
sender = event.sender.id;
if (event.message && event.message.text) {
text = event.message.text;
if (text == "Start") {
sendTextMessage(sender, "Hey User! I'm a bot");
}
}
else if (event.postback) {
// These are for chosing availibility
if (JSON.stringify(event.postback) == '{"payload":"postback"}') {
setTextMessage(sender, "Postback recieved");
}
}
}
Все настроено и работает. Но когда обратная передача получена, я хочу дождаться ответа от пользователя, прежде чем закончить, чтобы сохранить текст. Как я уже говорил ранее, это может быть что угодно, что означает, что я не могу просто написать оператор if, как я сделал с «Старт». Я также хочу сохранить текст только после того, как они нажмут кнопку обратной передачи.
Я думал о добавлении цикла while и ожидании получения текста перед завершением функции обратной передачи, но не мог этого понять.
Так как же мне дождаться текста после того, как я отправил сообщение с обратной передачей?
Любая помощь приветствуется, спасибо!