我正在看一些像「衛報」一些非常流行的機器人,我注意到,每當你從它得到一個通用的模板回覆它也會顯示一些快速回覆按鈕(見附圖)。 「衛報機器人」是如何實現這一目標的?他如何將快速回復和通用模板結合起來?它必須涉及兩條消息。Facebook信使平臺:通用模板與快速回復
0
A
回答
1
我已經實現在對的NodeJS機器人,我使用所謂messenger-bot
節點模塊,可以更容易地調用信使機器人API。這裏是我的自定義代碼,您
const http = require('http')
const https = require('https')
const Bot = require('messenger-bot')
var bot = new Bot({
token: 'your FB app token',
verify: 'VERIFY_TOKEN'
})
bot.on('postback', (payload, reply) => {
var postback = payload.postback.payload;
if (postback == "yes") {
function getQuickReplies() {
console.log("in next function");
var quick_list = {
"text": "Check the next article?",
"quick_replies": [{
"content_type": "text",
"title": "More stories",
"payload": "more stories"
},
{
"content_type": "text",
"title": "Sport",
"payload": "sport"
},
{
"content_type": "text",
"title": "Business",
"payload": "business"
}
]
};
bot.getProfile(payload.sender.id, (err, profile) => {
if (err) throw err
text = quick_list;
bot.sendMessage(payload.sender.id, text) {//this prints quick replies
console.log("sending message");
}
});
}
//calling generic template
var generic_temp = "message": {
"attachment": {
-- - your code-- -
}
}; //generic template refer - https://developers.facebook.com/docs/messenger-platform/send-api-reference/generic-template
bot.getProfile(payload.sender.id, (err, profile) => {
if (err) throw err
bot.sendMessage(payload.sender.id, generic_temp) {//this prints generic template
console.log("sending message");
}
});
//calling the quick replies once the generic template is sent
getQuickReplies(); //to avoid async execution issue, we will have to put this in a function.
}
});
引用 - Generic template,Quick replies,messenger-bot npm
希望這有助於!快速編碼;)
0
快速回復通常伴隨着一個'文本'屬性,在快速回復之前發送文本消息。看起來你可以用任何模板替代它。例如,以下是具有快速回復的通用模板輪播的請求正文:
{
"recipient":{
"id":"{{PSID}}"
},
"messaging_type": "response",
"message":{
"quick_replies": [
{
"content_type":"text",
"title":"Quick Reply 1",
"image_url":"https://raw.githubusercontent.com/fbsamples/messenger-platform-samples/master/images/Messenger_Icon.png",
"payload":"payload1"
},
{
"content_type":"text",
"title":"Quick Reply 2",
"payload":"payload2"
}
],
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"elements":[
{
"title":"This is a generic template",
"subtitle":"Plus a subtitle!",
"image_url":"https://raw.githubusercontent.com/fbsamples/messenger-platform-samples/master/images/Messenger_Icon.png",
"buttons":[
{
"type":"postback",
"title":"Postback Button",
"payload":"<POSTBACK_PAYLOAD>"
}
]
},
{
"title":"Another generic template",
"subtitle":"Plus a subtitle!",
"image_url":"https://raw.githubusercontent.com/fbsamples/messenger-platform-samples/master/images/Messenger_Icon.png",
"buttons":[
{
"type":"postback",
"title":"Postback Button",
"payload":"<POSTBACK_PAYLOAD>"
}
]
},
{
"title":"And another!",
"subtitle":"Plus a subtitle!",
"image_url":"https://raw.githubusercontent.com/fbsamples/messenger-platform-samples/master/images/Messenger_Icon.png",
"buttons":[
{
"type":"postback",
"title":"Postback Button",
"payload":"<POSTBACK_PAYLOAD>"
}
]
}
]
}
}
}
}
相關問題
- 1. Resharper快速修復模板
- 2. 通用模板image_url在Messenger中未加載 - Facebook Messenger平臺
- 3. 快速回復
- 4. Twitter直接信息快速回復
- 5. Moq快速模板?
- 6. 在angularjs中使用快速模板
- 7. 快速回復或與沃森對話
- 8. 快速Web應用程序開發ASP.net與開源平臺
- 9. Facebook的:如何通過Facebook平臺
- 10. Android平板電腦通過藍牙與ARM開發板通信
- 11. 在線交易平臺使用PayPal快速結賬
- 12. 用於與Android應用程序通信的Web服務平臺
- 13. Facebook開發人員JSON格式快速回復
- 14. 通用Windows平臺上的遞歸XAML綁定數據模板
- 15. 快速回覆在Messenger Bot歡迎信息中工作嗎?
- 16. 回覆內聯使用Outlook模板
- 17. OBD 2 iOS wifi快速通信
- 18. iOS 8快速Soap Web服務通信
- 19. 快速線程間通信機制
- 20. 通信協議/委託快速錯誤
- 21. UDP通信快速填充內存
- 22. 如何編輯PyDev快速修復模板?
- 23. 快速文件複製與Node.js中的進度信息?
- 24. 無法呈現痛飲模板快速
- 25. 「在快速角度節點模板Render
- 26. OpenCV:快速模板匹配算法
- 27. 快速報告別名X模板
- 28. 模板化快速/合併排序
- 29. 從字符串快速渲染模板
- 30. Facebook喜歡應用平臺
該博客發佈第一個附件,然後是菜單。那麼? –
它的工作原理是什麼?它首先發送通用模板,然後快速回復?但在快速回復中,您必須指定標題和標題不能爲空。 –
那麼?他們已經指定了標題:) –