【发布时间】:2016-10-20 13:53:10
【问题描述】:
我在开发 Facebook Messenger 机器人时面临 2 个问题,而且我是编程新手。
-
我按照 FB 的教程添加代码 - 欢迎消息并将其部署在 heroku 中,但我的机器人没有弹出所述消息。
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 === 'Generic') { sendGenericMessage(sender) continue } if (text === 'button') { sendbuttonmessage(sender) continue } welcomemessage(sender) //sendbuttonmessage(sender) } if (event.postback) { let text = JSON.stringify(event.postback) sendTextMessage(sender, "Postback received: "+text.substring(0, 200), token) continue } } res.sendStatus(200) })
function welcomemessage (sender) { let messageData = { "setting_type":"call_to_actions", "thread_state":"new_thread", "call_to_actions":[ { "message":{ "text":"Welcome to My Company!" } } ] } 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 messages: ', error) } else if (response.body.error) { console.log('Error: ', response.body.error) } }) }
- 当人们点击它们时如何弹出另一个按钮?例如:
在他们点击按钮的网址后发送函数
sendbuttonmessage(sender)。
function sendbuttonmessage (sender) { let messageData = { "attachment": { "type":"template", "payload":{ "template_type":"button", "text":"Welcome to Taikoo Place. How can we help?", "buttons":[ { "type":"web_url", "url":"https://peterapparel.parseapp.com", "title":"Show Website" }, { "type":"postback", "title":"Service Lift Booking", "payload":"what" //"payload":"USER_DEFINED_PAYLOAD" }, ] } } }
【问题讨论】:
标签: facebook facebook-graph-api heroku facebook-messenger