问题标签 [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.
c# - Bot Framework,另一个对话中的对话
我使用 QnA Maker 创建了一个机器人,根据答案我应该返回相同的答案或调用另一个服务,在我的例子中是从 JSON 组装一个表单流。
但是当调用这个服务时,我开始了一个新的对话,所以它不会返回到模拟器。
我正在另一个对话中创建一个对话。一定少了点什么。
RootDialog.cs:
消息控制器.cs
模拟器响应:
我无法发送,重复
c# - 表单流机器人自定义问题
我想构建一个可以利用 QnA api 和 google drive 的搜索 api 的机器人。我会问用户他是否想查询知识库或他想搜索驱动器中的文件。为此,我选择了 Bot Framework 的 Form Flow 机器人模板。在这种情况下,如果用户选择查询 qna api,那么我想将问题发布到 QNA api。如何在我的机器人中实现这一点?我在哪里可以找到用户在流程中的选择。
这是MessageController.cs
表单生成器
botframework - 带有 LUIS 的 Bot Framework - 一个接一个地打开表单的问题
我的机器人应该帮助删除约会。
- 将提示输入用户的 nric(在 RetrieveAppt.cs 中)
- 随后,如果我的数据库中有这样的用户,它应该继续提示用户输入他/她要删除的 apptId(因为同一个人可能有多个约会)(在 DeleteAppt.cs 中)
问题描述
抛出异常:Microsoft.Bot.Builder.dll 中的“Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException”
代码示例
检索Appt.cs
删除Appt.cs
ApptLuisDialog.cs
预期行为
例如,bot提示用户输入身份证后,用户输入“123456”。因此,假设有 3 个约会与 NRIC“123456”相关联。因此它将首先显示所有 3 个约会(具有以下详细信息:apptId、apptDate、apptTime、locatoin)。
接下来,我希望机器人根据 apptId 提示用户他/她想要删除的约会。(但是这个提示没有显示)
实际结果
抛出异常:Microsoft.Bot.Builder.dll 中的“Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException” 此处绝对需要帮助
c# - 在自定义客户端中嵌入自定义表单流机器人
我创建了一个自定义表单流。我将把它集成到我的自定义客户端中。为此,我在 Azure 门户中创建了一个表单模板机器人并发布了我更新的代码。
我不想使用默认聊天窗口,我想集成到我的自定义聊天窗口中。为此,我设置了一个直线通道。
这是我的代码:-
在我看来,我只是将来自用户的数据发布到此操作方法,然后将操作方法的响应返回给视图。因为它是一个表单流机器人,所以很多问题将有多个选项,并且一些消息将带有附件。如何在此处管理这些选项和附件。
为了检测附件,我目前正在使用 message.Attachments.Count
.
我不知道如何管理选项。
botframework - 如何在单个机器人中集成 FormFlow 和 QnA 对话框
如何在一个简单的机器人中集成 FormFlow 和 QnA 对话框。QnA 完成后,我无法调用 FormFlow 上下文。如果有相同的样品,请分享。
frameworks - microsoft bot 框架打字指示器表单流程(Form Builder)
我需要在表单流中添加打字指示器活动,我使用了以下代码,但它只在表单流程之外起作用,一旦用户输入表单构建器,打字指示器就不会出现。
我在对话框中使用以下代码来调用表单生成器:
我的表单生成器代码:
botframework - Sending an IForm from a LUIS intent
I currently have a chatbot running in visual studio using Microsoft's bot framework in the language c#. I integrated LUIS into the bot and I'm wondering how can I make it so that a FormFlow similar to this example appears on a specific intent.
So far this is the code for my Form:
And I'm trying to send it form my LUIS intent method like so:
This is obviously not the correct way to call the form, how can I make it so that a form appears as a response called directly from my SpecificGroupIntent() method? Any help will be greatly appreciated. After the form is filled I want to use the option that the user selected to display text accordingly.
c# - 表单选项“A”重置流程并再次发送表单
我正在尝试使用机器人框架使用此问题相同环境(Visual Studio C#)中的说明制作表单,但我的GroupOptions
外观如下所示:
Grupo A 匹配 GrupoZ 的原因是,如果我这样写:
每次尝试单击它时,我都会收到错误“A”不是一个选项,但是当我像这样使用 GrupoZ 时:
然后我尝试单击它,再次发送整个表单,没有错误消息或任何内容,表单只是再次直接发送,所有其他选项 B、C、D ... 完美运行为什么会发生这种情况以及我该如何工作周围?大写字母A是保留的还是什么?我还尝试进一步向下更改选项并在其上方添加选项,结果相同。任何见解将不胜感激,如果需要,我将上传更大的代码块。
.net - 来自动态 JSON 的表单构建器字段
我想用手动添加和动态添加的字段填充表单。
表单生成器:
JSONstring 非常动态,每次都可能不同。但是,字符串始终包含“d”和“parameter”子节点。该字符串可能如下所示:
如何确保无论 JSON 是什么样子,参数都作为字段输入动态添加到表单构建器中?提前致谢。
botframework - FormFlow 定义字符串字段的选项
我正在使用机器人框架,并且正在尝试使用 FormFlow 动态定义表单。我对一个特定领域有疑问:
问题是ProductPlatform依赖于ProductName,因此它是一个字符串。这很好用,但是,通过这种方式,机器人不会显示可能平台的选项(尽管 {||} 在SetPrompt中有)。
当我将 type 设置为 nullSetType(null)
时,机器人现在将可能的平台显示为按钮,但是,当用户决定键入错误的平台而不是单击正确的平台时,它永远不会进入ValidateProductPlatform(我猜验证本身已经在SetDefine级别完成)。我需要通过ValidateProductPlatform验证用户输入的唯一原因是我想在 3 次尝试失败后取消表单。
那么,有什么方法可以实现这一点?:用户有基于 ProductName 的 ProductPlatorm 选项(作为按钮),但是他们没有单击,而是(可能)输入了错误的平台,并且在 3 次错误尝试后,表单结束。
PS:我看到了Microsoft Bot : How to capture Too Many Attempts in Form Flow?但我无法使用它,因为在我的情况下似乎 SetValidate被忽略了(当SetType(null)
)