无法为 Amazon lex 聊天机器人显示多个响应卡

Multiple response cards unable to be shown for Amazon lex chatbot

我目前正在使用 Amazon lex 创建一个聊天机器人,并希望能够一次 post 多张回复卡片。聊天机器人提出的问题将是 "Do you have an integrated Shield Plan currently?",然后是多个响应卡,其中将显示不同品牌的计划列表。但是如果用户没有计划,那么响应卡上会有一个名为"No"的选项。

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

你没有指定Card Image URL,所以没有卡。
我刚刚测试过,without Image Card URL ResponseCard 将不会显示在 Facebook 或 Slack 上,如果我们使用控制台设置它。

但是如果你在Lambda函数中设置Response Cards,那么我们可以选择不要图片。您可以检查 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"
             }
                ]
            }
        }
    }
}

希望对您有所帮助。