Как отображать приветственное сообщение, включая текст и изображение в nodejs

Я хочу показать приветственное сообщение, когда пользователь начинает разговор в мессенджере Facebook, прежде чем пользователь введет какое-либо сообщение.

Я сделал код на сервере node js, который срабатывает только тогда, когда пользователь отправляет сообщение, но я хочу показать приветственное сообщение, как показано ниже.

введите здесь описание изображения

Я хочу знать, где я должен закодировать приветственное сообщение. Я прочитал это https://developers.facebook.com/docs/messenger-platform/thread-settings/greeting-text, но здесь возможен только текст.

Эта ссылка также для текстового приветствия показывать приветственное сообщение при начале разговора


person N Sharma    schedule 06.07.2016    source источник
comment
Вы проверили документацию для Get Started [1]? Вероятно, вам следует настроить поток чата для отображения такой кнопки и прослушивания обратного вызова от кнопки «Начать». Затем отправьте свою карту (с изображением) после получения вызова веб-перехватчика. [1] developers.facebook.com/docs/messenger -платформа/потоки-настройки/   -  person AndreasB    schedule 06.07.2016
comment
Спасибо @AndrewB. Я не начинаю работу, я включил его в настройках страницы и выполнил все шаги здесь stackoverflow.com/a /36754730/1741671 . Не могли бы вы помочь?   -  person N Sharma    schedule 06.07.2016
comment
Хм, @Williams. Я ничего не менял в настройках, чтобы включить кнопку «Начать», я просто отправляю структуру данных, которую они предлагают по предыдущей ссылке, которую я отправил в разделе «Примеры».   -  person AndreasB    schedule 07.07.2016


Ответы (2)


Если вы используете nodejs, используйте request (или 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
});
person Rafael    schedule 25.07.2016
comment
Это не сработает. Заголовок будет отправлен в виде сообщения. - person Bcf Ant; 15.04.2017

Насколько мне известно, в настоящее время вы не можете отправлять текст и изображение в одном сообщении.

Самое близкое, что вы можете получить к тому, что вы хотите, это использовать общий шаблон. Единственная проблема заключается в том, что вам нужно будет использовать кнопку.

person Bcf Ant    schedule 15.04.2017