我想在bot给出的每个响应后捕获聊天机器人中的用户行为。它基本上是一个反馈,比如Facebook中的/不喜欢按钮。
在MS bot框架中可以吗?
答案 0 :(得分:1)
您可以使用富卡或英雄卡实施feedback yes no
按钮或like
按钮。
许多消息传递通道提供附加更丰富对象的功能。 Bot框架能够将丰富的卡片作为附件呈现。支持几种类型的卡:英雄卡,缩略图卡,收据卡,登录卡,动画卡,视频卡和音频卡。选择所需的卡类型后,它将映射到附件数据结构中。查看位于CardsDialog类中的密钥代码,其中消息活动的message.Attachments属性填充了卡附件。
public async Task DisplaySelectedCard(IDialogContext context, IAwaitable<string> result)
{
var selectedCard = await result;
var message = context.MakeMessage();
var attachment = GetSelectedCard(selectedCard);
message.Attachments.Add(attachment);
await context.PostAsync(message);
context.Wait(this.MessageReceivedAsync);
}
英雄卡
Hero卡是一款多功能卡;它主要承载一个大图像,一个按钮,一个&#34;点击动作&#34;,以及要显示在卡上的文本内容。查看CardsDialog类中的GetHeroCard方法,了解Hero Card样本。
private static Attachment GetHeroCard()
{
var heroCard = new HeroCard
{
Title = "BotFramework Hero Card",
Subtitle = "Your bots — wherever your users are talking",
Text = "Build and connect intelligent bots to interact with your users naturally wherever they are, from text/sms to Skype, Slack, Office 365 mail and other popular services.",
Images = new List<CardImage> { new CardImage("https://sec.ch9.ms/ch9/7ff5/e07cfef0-aa3b-40bb-9baa-7c9ef8ff7ff5/buildreactionbotframework_960.jpg") },
Buttons = new List<CardAction> { new CardAction(ActionTypes.OpenUrl, "Get Started", value: "https://docs.microsoft.com/bot-framework") }
};
return heroCard.ToAttachment();
}
我已经创建了一个样本。与您分享图片。点击“是”,它将显示一张卡片以给予评级。