【发布时间】:2020-01-06 18:37:09
【问题描述】:
我正试图让我的机器人通过团队向用户发送图像。我可以使用自适应卡和活动+附件来做到这一点。它运作良好,但我希望能够更改返回的图像框的大小。我看到自适应卡片中的图像功能有一个“大小”属性,但这只会改变图像的大小,而不是发送回团队的盒子。可以在这里看到一个例子:
这是我添加图像的方法:
var happyBot = "https://i.imgur.com/W7tHV41.gif";
var botActivity = stepContext.Context.Activity.CreateReply();
botActivity.AddHappyBotAttachment(happyBot);
await stepContext.Context.SendActivityAsync(botActivity, cancellationToken);
public static void AddHappyBotAttachment(this Activity activity, string videoUrl)
{
activity.Attachments = new List<Attachment>() { CreateHappyBotAttachment(videoUrl) };
}
private static Attachment CreateHappyBotAttachment(string videoUrl)
{
var adaptiveCard = File.ReadAllText($@"{System.Environment.CurrentDirectory}\Dialogs\HappyBot.json");
adaptiveCard = adaptiveCard.Replace("URL", videoUrl);
return new Attachment
{
ContentType = "application/vnd.microsoft.card.adaptive",
Content = JsonConvert.DeserializeObject(adaptiveCard),
};
}
HappyBot.json:
{
"type": "AdaptiveCard",
"body": [
{
"type": "Container",
"items": [
{
"type": "Image",
"horizontalAlignment": "Center",
"spacing": "Large",
"url": "URL",
"size":"small"
}
]
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
我的机器人有没有更好的方法向用户发送图像?或者是否可以调整返回的自适应卡盒的大小?任何帮助表示赞赏。
【问题讨论】:
标签: c# asp.net botframework adaptive-cards