c# - Bot Builder:更改提示对话框的“识别”选项
问题描述
我在 C# 中使用 Bot Builder 并promptdialogs
询问我的用户选择。它工作正常,但我想限制我的用户使用提示中的按钮,据我发现,我可以设置recognizeOrdinals
andrecognizeNumbers
和recognizeChoices
false 来解决我的问题。问题是我似乎找不到设置这些值的方法。
我正在使用这样的提示:
PromptDialog.Choice(context, ZipCodeUnavailableAnswerAsync, new List<string>() { "Mudar Código Postal", "Mudar Serviço", "Cancelar Pedido", "Apoio ao Cliente" }, "O que quer fazer?", "Desculpe, não percebi.");
我看到我也可以单独定义Promptoptions
,但即使那样我似乎也找不到如何将这 3 个单独的值设置为 false,因为我不能只是将“识别器”的值更改为我想要的值据我所知。
var promptOptions = new PromptOptions<string>(
prompt: "O que quer fazer?",
retry: "Desculpe, não percebi.",
options: new List<string>() { "Mudar Código Postal", "Mudar Serviço", "Cancelar Pedido", "Apoio ao Cliente" },
recognizer: ;
解决方案
您可以使用此方法:
public static void Choice<T> (Microsoft.Bot.Builder.Dialogs.IDialogContext context, Microsoft.Bot.Builder.Dialogs.ResumeAfter<T> resume, System.Collections.Generic.IDictionary<T,System.Collections.Generic.IEnumerable<T>> choices, string prompt, string retry = null, int attempts = 3, Microsoft.Bot.Builder.Dialogs.PromptStyle promptStyle = Microsoft.Bot.Builder.Dialogs.PromptStyle.Auto, System.Collections.Generic.IEnumerable<string> descriptions = null, bool recognizeChoices = true, bool recognizeNumbers = true, bool recognizeOrdinals = true, double minScore = 0.4);
所以它看起来像:
var promptOptions = new PromptOptions<string>(
prompt: "O que quer fazer?",
retry: "Desculpe, não percebi.",
options: new List<string>() { "Mudar Código Postal", "Mudar Serviço", "Cancelar Pedido", "Apoio ao Cliente" };
PromptDialog.Choice(context: context, resume: ZipCodeUnavailableAnswerAsync, promptOptions: promptOptions, recognizeChoices: false, recognizeNumbers: false, recognizeOrdinals: false);
推荐阅读
- reactjs - 带有 TypeScript 的 React-router,匹配参数始终未定义
- php - 这段代码在 Laravel 5 中不再可行吗?
- r - 在 R 中一起使用 cast 和 split 字符串函数
- mysql - MySQL SQL 创建具有列和行总计的临时表
- python - 在 pyspark 中聚合和连接两个字符串时出现问题
- core-data - 抽象实体有什么特别之处?
- angular - 我们如何在 Angular 7 中的 URL 中编码 # 并发送到后端服务器,因为后端不会收到 URL 中 # 之后的任何内容
- python - 如何拆分堆叠特征的训练测试数据?
- kubernetes - Kubernetes:每个集群或每个 statefulset 或 replicaset 需要完成一次的任务
- php - 输入文本框时不显示自动完成,但控制台中显示值