如何显示问候消息包括nodejs中的文本和图像

时间:2016-07-06 11:08:53

标签: node.js facebook bots facebook-messenger messenger

我希望在用户输入任何消息之前,当用户在Facebook Messenger上开始对话时显示问候消息。

我在节点js服务器中做了代码,只在用户发送消息时触发,但我想显示如下的问候消息。

enter image description here

我想知道我应该在哪里编写欢迎信息。我读了这个https://developers.facebook.com/docs/messenger-platform/thread-settings/greeting-text,但这里只有文字可以。

此链接也适用于文字问候Facebook Messenger :How to show a greeting message when start conversation

2 个答案:

答案 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)

就我所知,您目前无法在同一条消息中发送文字和图片。

最接近您想要的是使用通用模板。唯一的问题是你需要使用一个按钮。