如何将卡轮播和快速回复一起发送?

时间:2018-09-27 19:17:44

标签: node.js facebook-graph-api dialogflow chatbot

我正在关注这个tutorial,以便在Facebook上创建一个对话流程聊天机器人。我对两个单独的动作做了轮播,并迅速做出了答复。如何发送轮播,然后对同一操作进行快速答复?

2 个答案:

答案 0 :(得分:0)

使用Dialogflow的node.js fulfillment library,您可以多次调用agent.add来建立包含多个元素的响应。

要构建Facebook轮播,您可以在实现目标时执行以下操作:

agent.add(new Payload('FACEBOOK', <object for Facebook carousel>));
agent.add(new Suggestion('first quick reply'));
agent.add(new Suggestion('second quick reply'));

答案 1 :(得分:0)

您的消息对象可以具有用于轮播的attachment属性(一个对象)和用于快速回复的quick_replies属性(一个数组)。 。例如:

let messageObject = {
    recipient: {
        id: recipientId
    }, 
    message: {
        attachment: {
            type: "template", 
            payload: {
                template_type: "generic", 
                elements: [
                    {
                        title: title,
                        image_url: imageUrl,
                        buttons: [
                            {
                                type: "web_url",
                                url: buttonUrl,
                                title: buttonTitle
                            }
                        ]
                    }
                ]
            }
        },
        quick_replies: [
            {
                "title": firstQuickReplyTitle,
                "payload": firstQuickReplyPayload,
                "content_type": "text"
            },
            {
                "title": secondQuickReplyTitle,
                "payload": secondQuickReplyPayload,
                "content_type": "text"
            }
        ]
    }
}

请参见Messenger docs — Quick repliesMessenger docs — Generic template