如何从node.js中的自适应卡读取按钮操作?

时间:2017-06-09 07:17:43

标签: node.js botframework adaptive-cards

如果我有如下自适应卡:

var msg = new builder.Message(session)
.addAttachment({
    contentType: "application/vnd.microsoft.card.adaptive",
    content: {
        type: "AdaptiveCard",
        speak: "<s>Your  meeting about \"Adaptive Card design session\"<break strength='weak'/> is starting at 12:30pm</s><s>Do you want to snooze <break strength='weak'/> or do you want to send a late notification to the attendees?</s>",
           body: [
                {
                    "type": "TextBlock",
                    "text": "Adaptive Card design session",
                    "size": "large",
                    "weight": "bolder"
                },
                {
                    "type": "TextBlock",
                    "text": "Conf Room 112/3377 (10)"
                },
                {
                    "type": "TextBlock",
                    "text": "12:30 PM - 1:30 PM"
                },
                {
                    "type": "TextBlock",
                    "text": "Snooze for"
                },
                {
                    "type": "Input.ChoiceSet",
                    "id": "snooze",
                    "style":"compact",
                    "choices": [
                        {
                            "title": "5 minutes",
                            "value": "5",
                            "isSelected": true
                        },
                        {
                            "title": "15 minutes",
                            "value": "15"
                        },
                        {
                            "title": "30 minutes",
                            "value": "30"
                        }
                    ]
                }
            ],
            "actions": [
                {
                    "type": "Action.Submit",
                    "title": "Snooze"
                },
                {
                    "type": "Action.Submit",
                    "title": "I'll be late"
                }
            ]
    }
});

如何在对话中显示它,以便机器人等待用户点击其中一个提交按钮?

如何阅读已按下的按钮?

我在node.js中找不到任何示例。

非常感谢

1 个答案:

答案 0 :(得分:1)

您需要检查session.message.value是否存在

if (session.message && session.message.value) {
 // process your card's submit action
}

请查看以下Adaptive Card sample,了解如何处理提交操作。