c# - 带图像的 Bot 框架提示对话框

标签 c# botframework

我正在使用 Bot Framework,我想使用方法 PromptDialog.Choice 显示附加图像的选项列表,以便利用 ResumeAfterChoose> 控制我的业务逻辑的方法。然而,我只看到了EchoBot Sample中写的附件对话框。它只会创建消息列表,在客户选择其中一个列表后,这使我难以处理我的业务逻辑。请告诉我实现该方法的方法。谢谢

最佳答案

开箱即用,你不能这样做。不过,有几种方法可以实现这一目标。

首先,您是说使用附件对您不起作用,因为您将无法处理您的业务逻辑。这部分是正确的;但不是因为你提到的原因。

您可以列出 HeroCards 的列表使用按钮并使用附件的轮播布局(请参阅 RichCardsCarouselCards 示例)。然后,您可以执行 context.Wait到不同的方法(类似于 ResumeAfterChoose 中的 PromptDialog 方法)并处理那里的逻辑。该方法将获取单击的按钮的值,然后您可以执行您的业务逻辑。现在...需要注意的是,如果用户编写任何与选项不相符的内容,您仍然会使用此方法。

你猜怎么着?我刚才描述的与PromptDialog.Choice极其相似。在幕后做的...唯一的区别是它添加了一个重试逻辑来处理我提到的警告,并且使用的布局是一个列表布局,因为它只渲染一个 HeroCard有多个按钮(选项)

在这种情况下我会采取的方式是尝试组合一个自定义 PromptStyler ,覆盖 Apply<T>方法并添加您的逻辑,以基于 PromptStyle 以您想要的方式呈现 Choice 选项。使用过。

默认情况下 PromptDialog.Choice使用 PromptStyle.Auto,在游戏结束时(在 PromptStyler 中)converts the options into a HeroCard with multiple buttons 。您可以轻松更改该逻辑以创建多张卡片,并为其使用图像。

关于c# - 带图像的 Bot 框架提示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42848591/

相关文章:

c# - xamarin android 应用程序 : how to get the Resources folder of my project

c# - Microsoft bot 服务在本地运行良好,但在网络聊天 channel 中运行不佳

c# - 如何防止在 FormFlow 中重新验证时显示原始提示?

botframework - 使用 Microsoft bot 框架在 Microsoft 团队中显示欢迎消息

c# - 访问图像文件以提高性能的最佳方式

c# - RichTextBox.AutoWordSelection 损坏了吗?

c# - 比较一个字符串到多个字符串

c# - 检查两组点是否位于与源点不同的半球

c# - 如何留在机器人对话框中(机器人框架,C#)

botframework - 如何在确认提示(Microsoft Bot Framework)中添加对不同语言的支持?