2016-07-28 46 views
0

我正嘗試在Facebook Messenger中編程我的機器人,以便在用戶選擇按鈕後用文本進行響應。我讀過,有可能通過處理回髮式按鈕的有效載荷,但我似乎無法得到它的工作如何響應Facebook Messenger中的選定按鈕

app.post('/webhook/', function (req, res) { 
let messaging_events = req.body.entry[0].messaging 
for (let i = 0; i < messaging_events.length; i++) { 
    let event = req.body.entry[0].messaging[i] 
    let sender = event.sender.id 
    if (event.message && event.message.text) { 
     let text = event.message.text 
     if (text === 'poorita') { 
      sendPooritaMessage(sender) 
      sendTextMessage(sender, "Here are some restaurants near you: ") 
      continue 
     } else if (text === 'budget') { 
      sendBudgetMessage(sender) 
      continue 
     } else if (text === 'bot') { 
      sendBotMessage(sender) 
      continue 
     } else if (text === 'hungry na me') { 
      sendHelloMessage(sender) 
      continue 
     } else if (text === 'location') { 
      sendLocationMessage(sender) 
      continue 
     } 
     sendTextMessage(sender, "Text received :), echo: " + text.substring(0, 200)) 
    } else if (event.postback && event.postback.payload) { 
     let payload = event.postback.payload 
     if (payload === 'payload_1') { 
      sendTextMessage(send, "It worked!") 
      continue 
     } 
    } 
} 
res.sendStatus(200)}) 

function sendBotMessage(sender) { 
let messageData = { 
    "attachment": { 
     "type": "template", 
     "payload": { 
      "template_type": "button", 
      "text": "Regular or special?", 
      "buttons": [ 
      { 
       "type": "postback", 
       "payload": "payload_1", 
       "title": "Regular" 
      }, 
      { 
       "type": "web_url", 
       "title": "Special", 
       "url": "https://www.messenger.com" 
      }] 
     } 
    } 
} 
request({ 
    url: 'https://graph.facebook.com/v2.6/me/messages', 
    qs: {access_token:token}, 
    method: 'POST', 
    json: { 
     recipient: {id:sender}, 
     message: messageData, 
    } 
}, function(error, response, body){ 
    if (error) { 
     console.log('Error sending message: ', error) 
    } else if (response.body.error) { 
     console.log('Error: ', response.body.error) 
    } 
})} 

我想創建這樣 enter image description here

回答

相關問題