要使用适用于 Node.js 的 Bot Framework SDK 发送自适应卡片,请使用Adaptivecards.io中描述的 JSON 格式,然后将自适应卡片对象作为附件添加到botbuilder.Message
对象,然后照常发送消息。
例子:
// adaptive cards example from:
// https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-send-rich-cards
bot.dialog('adaptive_card_demo', function(session) {
var adaptiveCardMessage = 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.Http",
"method": "POST",
"url": "http://foo.com",
"title": "Snooze"
},
{
"type": "Action.Http",
"method": "POST",
"url": "http://foo.com",
"title": "I'll be late"
},
{
"type": "Action.Http",
"method": "POST",
"url": "http://foo.com",
"title": "Dismiss"
}
]
}
});
session.send(adaptiveCardMessage);
session.endDialog();
});