c# - 如何取消/退出或退出 Bot Framework 中的 PromptDialog.Choice?

标签 c# botframework

Bot Framework 中的 PromptDialog.Choice 显示运行良好的选择列表。但是,我希望有一个选项可以取消/转义/退出对话框,并在列表中提供取消/转义/退出选项。 PromptDialog.Choice 中是否有任何内容可以被覆盖,因为我没有找到任何取消选项。

这是我的 c# 代码..

PromptDialog.Choice(
                 context: context,
                 resume: ChoiceSelectAsync,
                 options: getSoftwareList(softwareItem),
                 prompt: "We have the following software items matching " + softwareItem + ". (1), (2), (3). Which one do you want?:",
                 retry: "I didn't understand. Please try again.",
                 promptStyle: PromptStyle.PerLine);

示例:

Bot:我们有以下与Photoshop相匹配的软件项目。 (1)、(2)、(3)。您想要哪一款

  • 版本 1
  • 版本 2
  • 版本 3

如果用户不输入上述任何内容或命令或数字,取消,退出,绕过上述选项,而不触发重试错误消息,我想要什么。

我们如何做到这一点?

最佳答案

有两种方法可以实现这一目标:

  1. 按照建议添加取消作为选项。虽然这肯定会起作用,但从长远来看,您会发现自己经常重复,而且您会在选项列表中看到取消选项,这可能是不希望的。
  2. 更好的方法是扩展当前的 PromptChoice 以添加退出/取消逻辑。好消息是,有些东西已经实现,您可以按原样使用或作为基础来实现您的需求。看看CancelablePromptChoice包含在BotBuilder-Samples中存储库。 Here就是如何使用它。

关于c# - 如何取消/退出或退出 Bot Framework 中的 PromptDialog.Choice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702597/

相关文章:

c# - 在 kentico 10 中使用 PBKDF2 加密设置密码

c# - WCF从客户端发送int[]到服务器

node.js - bot-framework v4 (node.js) 中的动态提示选择

botframework - 如何解决 Bot Framework Channel Emulator 中的 “500 internal server error” 错误?

.net-core - 如何在 MS Teams 机器人中安排和发送消息

c# - 将简单字符串从一种形式传递到另一种形式

c# - 在 Teams 机器人中发送打字事件失败 - BadGateway

c# - 无法将参数值从字符串转换为十进制

javascript - 单击链接将文本提交到 BotFramework WebChat

c# - 自适应卡片中的轮播