问题标签 [formflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

c# - FormFlow ChatBot 使用 microsoft bot 框架

我正在尝试使用 microsoft bot 框架构建一个聊天机器人。我正在使用 formflow 构建一个用户引导的机器人。我无法找到正确的方式来构建机器人,在其中显示一组不同的选项供选择。假设我提供的第一个选项是支持、联系方式和其他信息,当用户选择时,我必须显示一组选项,当他选择联系方式时,我会显示另一组选项,另一组用于其他信息。我该怎么做?任何人都可以建议吗?

当用户第一次向机器人打招呼时,它会要求他在 Specfic、ErrorInformation 和 Contact 之间进行选择。现在,当他选择特定支持时,我想显示 ToolOptions。

0 投票
0 回答
54 浏览

.net - Cortana 中的 Bot Framework FormFlow 不接受字符串字段的输入

我有一个 Formflow,它适用于从显示的枚举选项中获取输入的字段,但是当它到达一个字符串时,它会显示问题,但 Cortana 不显示输入答案的区域,单击时麦克风图标不做任何事情。我的表单构建器没有对这个字段做任何事情,它只是被 AddRemainingFields() 行覆盖。我尝试在表单构建器中手动添加字段并设置 .SetType(typeof(string)) 但这没有帮助。这里是否存在已知错误,或者我是否缺少一些代码来启用打字或麦克风工作。

谢谢!

0 投票
1 回答
182 浏览

c# - 验证 FormFlow 中的字段

代码

我上面的机器人代码显示了下面的对话。

机器人对话

我正在使用FormFlow和 Bot Framework 创建一个简单的查询机器人。我正在Inquiry通过 LUIS 验证该字段并返回处理意图。我得到了正确的意图,在这种情况下是EXC01. 之后,我想知道为什么我仍然收到提示Inquiry

问题: 1.确认询价意向后
如何完成? 2. 我想处理返回的 Intent 但不显示给用户。我将使用 Intent 字符串查询数据库。我可以在里面做这个吗?FormFlow
BuildForm()

0 投票
1 回答
181 浏览

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

BuildForm 方法

验证方法

当我的验证字段上的输入无效时,我的验证方法会返回反馈“再试一次”文本。但是,它会返回原始提示和反馈文本。

问题
如何删除重新验证字段的原始提示?

0 投票
1 回答
111 浏览

c# - 如何检查我的 flowform bot 中的提示字段是否存在于我的数据库中

我正在使用 Bot Framework 在网络频道和直线中创建一个机器人。我有一个调用一些表单(流表单)的 luis 对话框。

我必须向每份表格索要合同编号和其他一些数据。如何只存储一次合同号并继续到其他字段以及响应用户该合同号的正确答案。

  • 我试图在乞求人的合同号和姓名时询问并检查它们是否匹配..如果是的话让用户使用机器人......但我找不到正确的逻辑代码。

您能帮我解决一下如何只询问一次合同编号并在我的所有对话和表格中使用的方法吗?下面是我的代码:

消息控制器.cs:

路易斯.cs

BalanceForm.cs

0 投票
1 回答
998 浏览

c# - 自适应卡片作为 Formflow 提示

我使用 BotFramework、Adaptive Cards、LUIS 和 FormFlow 在 C# 中制作了一个机器人。它/他负责管理团队中的会议。

在测试期间,我们注意到用户应该输入所需的会议日期/时间时出现问题(人们会输入dd/mm/yy, mm/dd/yy, dd-mm-yy, onlydd等),因此我们希望使用某种带有格式化输入的“表单”来避免解析问题和保留可用性。

我认为我们无法更改所需的键盘类型(有点像在移动设备中,有时键盘只显示数字或显示日期时间选择器),也不能应用模式自动完成,至少使用 BotFramework。

为了解决这个问题,我想在我的 FormFlow 提示中使用带有日期和时间选择器的 AdaptiveCard,至少在要求用户键入请求的日期时,如下所示:

使用自适应卡片的输入示例

在此示例中,用户将填写 AdaptiveDateInput 和 AdaptiveTimeInput,然后按下确认按钮。这样做,它将获取输入中的值,然后在特定模板中为用户“键入并发送”所需的 DateTime,避免之前的解析问题。

问题是,我不能用整个自适应卡替换“正常”的 FormFlow 卡(他们期望一个简单的字符串作为提示参数)。我该如何解决这个问题?AdaptiveCards 是最佳答案还是有替代方案?

现在我正在手动显示卡片,如下所示:

我读过这个问题,但我不知道我们是否有完全相同的问题。他们的解决方案不适用于我:即使我用英语制作了上面的示例,机器人实际上也会期望其他语言的输入,所以是的,我们可以使用识别器解析“2 月 2 日”,但我们没有相同的“2 de Fevereiro”或“2 Fevralya”的运气。

0 投票
1 回答
68 浏览

c# - 当用户给出确切的字符串时如何绕过表单流的“你的意思是”

我的表单流中的一个字段提供了以下选项:“无”、“1”、“2”、“3”、“4”和“超过 5”。当我选择选项“3”时,它会问我“你的意思是“3”还是“4”?

在此处输入图像描述

当提供的答案在选项中已经完全匹配时,有没有办法绕过“你的意思是”?

更改选项的措辞/格式是我唯一的选择吗?

0 投票
1 回答
80 浏览

c# - 动态 FormFlow 中确认提示时出现 KeyNotFoundException

SDK 版本:3.16.1.38846 代码:.Net

问题描述

我们使用 Field.SetDefine 根据调用服务获得的值实时定义字段按钮。具体来说,我们有一个Source字段和一个Destination字段,Destination 和 Source 字段的按钮是根据服务的结果定义的例外:

未能完成表格。例外:给定的键不在字典中。

我们认为这可能是因为 FormFlow 代码试图访问该字段的值,但按钮列表发生了变化,现在该值不再存在于列表中。

我怎样才能避免这个异常。

示例代码

重现问题的完整机器人代码。

预期行为

当用户在确认提示时选择否时,应显示表单字段供用户选择要更改的字段。

在此处输入图像描述

0 投票
1 回答
180 浏览

c# - 如何在我输入退出或取消的每一刻中断表单流?

我正在使用 BotFramework 在 .Net C# 中创建一个聊天机器人。在我的一个对话框中,当我开始填写表单流程时,我无法退出流程,直到我将填写所有流程。存在退出和离开形式的任何可能性吗?

这是我的代码:

LuisDialog.cs:

BalanceForm.cs

0 投票
1 回答
53 浏览

botframework - Microsoft Bot Framework:如何根据用户对前一个字段的输入来填充表单流字段值

对于表单流案例,我具有以下属性:

我想根据指定的国家/地区填充办公室。例如,如果用户输入 India 作为 Country 字段,我希望办公室是 Mumbai、New Delhi 和 Pune。如果用户进入阿联酋,我希望办公室是迪拜和阿布扎比等......

我怎样才能做到这一点?