が更新されていない私のコードJavaScript変数は、ここで
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;
}
}
}
である私は、デフォルトの場合には
if (isInput) {
token = messageText;
sendTextMessage(senderID, "token: " + token)
isInput = false
}
を実行したいのですが、それは動作しますことはありません。
上記のコードからわかるように、ユーザーが「Vote」というメッセージを送信した場合、私のチャットボットは「メッセージを送信」し、isInputをtrueとして更新します。しかし、私は再びボットにメッセージを送信するとisInput
はfalseと言います。 isInput
をどのように更新する必要がありますか?