无法为Amazon lex chatbot显示多个响应卡

时间:2017-12-19 10:05:02

标签: aws-lambda amazon-lex

我目前正在使用Amazon lex创建聊天机器人,并且希望能够一次发布多个响应卡。聊天机器人提出的问题是“你目前有一个集成的盾牌计划吗?”接下来将是多个响应卡,其中将显示来自不同品牌的计划列表。但如果用户没有计划,响应卡上会有一个名为“No”的选项。

enter image description here

enter image description here

但如果我发布聊天机器人让我们说Slack,甚至没有显示一张响应卡。我该如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

您尚未指定Card Image URL,这就是没有卡的原因 我刚刚测试了它,没有图像卡URL如果我们使用控制台设置它,ResponseCard将不会在Facebook或Slack上显示。

但是,如果您在Lambda函数中设置响应卡,那么我们可以选择不拥有图像。您可以在DialogCodeHook中检查该广告位是否已填充,并相应地显示ResponseCard

下面是显示没有图像的ResponseCard的示例代码:

{
    'dialogAction': {
        'type': 'Close',
        'fulfillmentState': 'Fulfilled',
        'message': {
            'contentType': 'PlainText',
            'content': message
        },
        'responseCard': {
        'version': '0',
        'contentType': 'application/vnd.amazonaws.card.generic',
        'genericAttachments': [
            {
            'title': 'title1',
            'subTitle': 'subtitle',
            "buttons":[ 
             {
                "text":"button 1",
                "value":"value 1"
             },
             {
                "text":"button 2",
                "value":"value 2"
             },
             {
                "text":"button 3",
                "value":"value 3"
             }
                ]
            }
        }
    }
}

希望它有所帮助。