Я создаю бот-посланника в узле. Я хочу, чтобы он собирал входные данные пользователя, беседовал или задавал вопросы, но код, который у меня есть, не работает. часть, которая не работает, остается только следующей, если блок, если я набираю тот же код. и второй массив не захватывает текст после первого оператора if. Есть ли лучший способ сделать это? Может ли кто-нибудь предоставить код?Как собрать данные от пользователя с помощью facebook messenger bot api в узле js
Мой код ниже. то, что я хочу, как в этом iimage:
var currentbot = 0;
var awnswers = [];
app.post('/webhook', function(req, res) {
var events = req.body.entry[0].messaging;
for (i = 0; i < events.length; i++) {
var event = events[i];
if (event.message && event.message.text) {
var text = event.message.text;
if (text == "hi") {
start(event.message.text, event.sender.id);
}
}
}
res.sendStatus(200);
});
var awnswers = [];
function start(text, id) {
if (count == 0) {
sendTextMessage('hello lets order!', id);
arr.push(text);
console.log(awnswers);
count = 1;
} else if (count == 1) {
sendTextMessage('what size do you want?', id);
arr.push(text);
console.log(awnswers);
count = 2;
} else if (count == 2) {
sendTextMessage('its on its way!', id);
arr.push(text);
console.log(awnswers);
count = 0;
}
}
function sendTextMessage(messageText, recipientId) {
var messageData = {
recipient: {
id: recipientId
},
message: {
text: messageText
}
};
callSendAPI(messageData);
}
function callSendAPI(messageData) {
request({
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: {
access_token: process.env.access_token
},
method: 'POST',
json: messageData
}, function(error, response, body) {
if (!error && response.statusCode == 200) {
var recipientId = body.recipient_id;
var messageId = body.message_id;
console.log("Successfully sent generic message with id %s to recipient %s", messageId, recipientId);
} else {
console.error("Unable to send message.");
console.error(response);
console.error(error);
}
});
}
«код у меня не работает» - что именно «не работает»? Есть ли сообщение об ошибке (и номер строки)? StackOverflow не является службой написания кода или отладки. Предоставьте более краткий вопрос. –
@ LambdaNinja часть, которая не работает, остается только следующей, если блок, если я набираю тот же код. и второй массив не захватывает текст после первого оператора if. – Now2407