Bot Framework中的PromptDialog.Choice将显示正常运行的选项列表。不过,我希望可以选择取消/退出/退出对话框,并在列表中提供取消/退出/退出选项。 PromptDialog.Choice中有什么可以重写,因为我没有找到任何取消选项。如何取消/退出或从Bot Framework中的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版
我想要什么,如果用户不输入任何的上方或命令或数量,取消,退出,绕过上面的选项,而不会触发重试错误消息。
我们该怎么做?
我已经通过了botloilder中的CancleablePromptChoice,但我认为这不适用于数字输入,当它显示我选择1的列表时,再次n再次显示列表。我尝试了重写ScoreMatch方法,但它不返回列表中的第一项。有什么缺失? – Sandy
我不认为目前的Prompt Choice也是如此。如果您希望允许用户通过编号进行选择,那么您可能需要更新TryParse/ScoreMatch方法来执行自定义逻辑,或者在选项中包含该编号。我不认为CancelablePromptChoice正在使用ScoreMatch。它是在添加该方法之前创建的。您可以重写该方法并从TryParse调用它。 –
是的,你是正确的当前提示选择不以这种方式工作。我已经覆盖了CancleablePromptChoice中的ScoreMatch,如下所示 – Sandy