를 업데이트하지 않는 것은 저는 여기에 기본 경우자바 스크립트 변수가
if (isInput) {
token = messageText;
sendTextMessage(senderID, "token: " + token)
isInput = false
}
을 실행하고 싶습니다 내 코드
var isInput = false;
app.post('/webhook', function (req, res) {
var data = req.body;
if (data.object === 'page') {
data.entry.forEach(function(entry) {
var pageID = entry.id;
var timeOfEvent = entry.time;
entry.messaging.forEach(function(event) {
if (event.message) {
receivedMessage(event);
} else if(event.postback){
receivedPostback(event);
}
else {
console.log("Webhook received unknown event: ", event);
}
});
});
res.sendStatus(200);
}
});
function receivedMessage(event) {
var senderID = event.sender.id;
var recipientID = event.recipient.id;
var timeOfMessage = event.timestamp;
var message = event.message;
console.log("Received message for user %d and page %d at %d with message:",
senderID, recipientID, timeOfMessage);
console.log(JSON.stringify(message));
var messageId = message.mid;
var messageText = message.text;
var messageAttachments = message.attachments;
if (messageText) {
switch (messageText) {
case 'Vote':
delayText(senderID, "Send your message ", 1000);
isInput = true;
break;
default:
if(isInput){
token = messageText;
sendTextMessage(senderID, "token: " + token)
isInput = false;
} else {
sendTextMessage(senderID, "isInput: " + isInput)
}
break;
}
}
}
이지만, 그것은 작동하지 않습니다.
위의 코드에서 알 수 있듯이 사용자가 'Vote'라는 메시지를 보내면 내 chatbot에서 '메시지 보내기'로 응답하고 isInput을 true로 업데이트합니다. 그러나 나는 봇에 메시지를 다시 보낼 때 isInput
이 거짓이라고 말합니다. isInput
을 (를) 어떻게 업데이트해야합니까?