我希望在用户输入任何消息之前,当用户在Facebook Messenger上开始对话时显示问候消息。
我在节点js服务器中做了代码,只在用户发送消息时触发,但我想显示如下的问候消息。
我想知道我应该在哪里编写欢迎信息。我读了这个https://developers.facebook.com/docs/messenger-platform/thread-settings/greeting-text,但这里只有文字可以。
此链接也适用于文字问候Facebook Messenger :How to show a greeting message when start conversation
答案 0 :(得分:0)
如果您使用的是nodejs,请使用请求(或curl)创建“问候语”按钮并传递参数以收听回发帖。
let request = require('request');
request.post({
method: 'POST',
uri: `https://graph.facebook.com/v2.6/me/thread_settings?access_token=${ACCESS_TOKEN}`,
qs: {
setting_type: 'call_to_actions',
thread_state: 'new_thread',
call_to_actions: [{
payload: 'GET_START'
}]
},
json: true
}, (err, res, body) => {
// Deal with the response
});
之后,您可以收听名为“GET_START”的帖子,并返回欢迎信息。
request({
method: 'POST',
uri: 'https://graph.facebook.com/v2.6/me/messages',
qs: {
access_token: ACCESS_TOKEN
},
json: {
recipient: {
id: SENDER_ID
},
message: {
attachment: {
type: "template",
payload: {
template_type: "generic",
elements: {
"title": "Your Title",
"subtitle": "Welcome to my messenger bot",
"image_url": "https://mybot.example.com/images/logo.jpg"
}
}
}
}
}
}, (err, res, body) => {
// Deal with the response
});
答案 1 :(得分:0)
就我所知,您目前无法在同一条消息中发送文字和图片。
最接近您想要的是使用通用模板。唯一的问题是你需要使用一个按钮。