在 Bot Framework 的版本 3 中,我可以调用卡片并等待用户的响应:
context.Call(new MyHeroCardOptions(), MyResumeAfter);
- Where 我的英雄卡选项是 HeroCard 类型的卡并且我的简历之后是等待用户响应的方法。
有人可以指导我如何在 Bot Framework V4 中执行此操作吗?请不要包含“ChoicePrompt”,我的目标是使用 HeroCard,因为它是附件。
我正在使用这个表格:
private static async Task<DialogTurnResult> TransportStepAsync(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
await OptionHeroCard.GetHeroCard(stepContext.Context);
return await stepContext.PromptAsync(nameof(TextPrompt), new PromptOptions());
}
public static class OptionHeroCard
{
public static async Task GetHeroCard(ITurnContext context)
{
var heroCard = new HeroCard
{
Title = "Documentation",
Subtitle = "Microsoft Bot Framework Documentation",
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.ImBack, title: "Opción 1", value: "Opción 1"),
new CardAction(ActionTypes.ImBack, title: "Opción 2", value: "Opción 2"),
new CardAction(ActionTypes.OpenUrl, "Ir a a web", value: "https://learn.microsoft.com/bot-framework"),
},
};
var reply = context.Activity.CreateReply();
reply.AttachmentLayout = AttachmentLayoutTypes.Carousel;
reply.Attachments.Add(heroCard.ToAttachment());
await context.SendActivityAsync(reply);
}
}
我目前使用“TextPrompt”和“Waterfall”来生成等待,但我不知道它是否合适。
- 我不知道我可以将 HeroCard 包含在“选择提示”中。举个例子就太好了。