问题标签 [botbuilder]

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 投票
2 回答
485 浏览

javascript - 我正在尝试使用 Microsoft bot 框架构建聊天机器人

我在这里定义了一个字典

当用户询问“英语 101 在哪里”时,我希望机器人回复“在 205 房间”。

我通过以下方式对其进行硬编码:

我不想对每个问题进行硬编码,而是将一些正则表达式传递给 dialog.matches() 函数的第一个参数并将其用作键,Bot 应该能够从字典中获取值并发送回用户

我尝试了以下方法,但没有奏效:

我怎样才能将标准输入传递给“str”并从字典中获取值?

0 投票
1 回答
432 浏览

botframework - 当我使用 Direct Line API 回复 .Prompts.choice() 时,我的机器人无法正常工作

我正在使用 Direct Line API 制作网站。 http://qavppy-bot-test-123.azurewebsites.net/

但是,当我重播 .Promts.choice() 的问题时,我的机器人无法识别消息。我不知道为什么,但机器人说 .onDefault() 的消息。似乎机器人无法正常工作......

当我使用其他方式(Slack、WebChat 等)时,机器人可以正常工作。

请建议。

捕获

0 投票
1 回答
1298 浏览

c# - 未确定数量的问题的 PromptDialog

我正在尝试编写一个允许用户创建请求的机器人(例如,我想买一件 T 恤或者我想修理我的电脑)。根据他们选择的请求,他们将被问到与该请求相关的一系列问题;这些问题与他们选择的请求直接相关。目前我正在尝试遍历这个问题列表并使用 PromptDialog.Text 方法来获得答案。但是,这只会询问列表中的最后一个问题,当给出答案时,我会收到一个无效需要的错误:预期等待,已完成作为消息。

是否有可能做这样的事情,我想动态地决定用户在运行时会被问到的问题,还是我需要采取更静态的脚本化方法?

0 投票
2 回答
1588 浏览

bots - 如何使用 Microsoft Bot 作为客户端在 Skype Bot 中显示图像

我正在使用 Microsoft Bot Framework 开发一个 Bot,该 bot 将通过向用户发送一些图像来响应。我用 slack 和 skype 配置了它。

在 slack 中显示图像,但在 Skype 中没有任何内容。

要发送图片,我使用了以下语法

参考dev.botfrmaework.com, Text 属性是 Markdown 部分清楚地提到了如何链接图像来回复消息。

如果我只回复如下链接,Skype 能够理解和显示链接。但是如果我像上面提到的Skype无法理解。

0 投票
1 回答
399 浏览

c# - Microsoft Bot Framework FormFlow - 覆盖 [可选] 属性?

我有一个将LUIS 实体绑定到 state的 FormDialog 。

在 AbstractFormDialog 的一个子类中,我希望能够说其中一些实体是必需的,因此“无偏好”不是一个选项。就像是

有谁知道这是否可能?当然,我可以在基类中设置所有必需的属性,然后在扩展它的每个类中,列出哪些实体实际上是可选的。不过这种设计很糟糕,因为如果要添加一个新实体,每个子类都需要更新。

0 投票
0 回答
495 浏览

node.js - bot.beginDialog 到特定的用户和频道

我希望我的机器人在未来某个时候与其他用户发起新的对话。我不是像Bot Connector Node.js文档中那样由传入的 POST 消息发起,而是尝试从对话本身发起。

目前还不清楚哪一种是 Node 的推荐方法:使用 require('botconnector')ConnectorClient()或 Bot Connector REST API。

但是,基于run-asyncLUIS示例,我注意到beginDialog实际上允许您指定预期地址:bot.beginDialog(address, '/run-async/runner', { name: name });cortanaBot.beginDialog({ from: alarm.from, to: alarm.to }, '/notify', alarm);

我认为这是一种非常简单明了的方法,但是,当我包含此类参数时,机器人会停止响应(如果我只使用它,它会起作用session.beginDialog('/myalarm', { alarm: "some alarm" });)。我错过了什么吗?

;

0 投票
2 回答
262 浏览

c# - 以定义的次数回调 FormDialog

我正在尝试创建一个向用户提问的机器人。在启动时,机器人会询问用户会采取哪种选择:

  1. 开始测验(之后他必须选择测验的主题和难度);
  2. 看看他上次测验的分数;
  3. 重置分数。

测验的内容在一个 XML 文件中。我已经将相关的问题和答案存储在一个结构中。

FormBuilder 是:

因此,我做了一个带有开关的 IDialog,它决定了用户的选择。如果用户选择开始测验,则 DefaultCase 将被激活:

我想向用户显示 10 个问题,这就是为什么我认为召回 FormBuilder 是个好主意,因为我不知道如何以另一种方式做到这一点。当我构建并运行它时,在选择了难度之后,Bot Framework 模拟器会发送一个 500 内部服务器错误。

这就是为什么我试图调用一个“测试”FormBuilder,它由一个简单的消息和三个选项组成,看看我是否可以用 for 循环调用 FormDialog。这是 FormBuilder :

这是 IDialog :

这样,FormDialog 将显示一次,但我看到执行了 for 循环。但是,testDialog 变量为空。

那么,您知道如何正确回忆我的 FormBuilder 以在 Bot Framework Emulator 上提出 10 个问题吗?

非常感谢 !

0 投票
0 回答
389 浏览

c# - 如何在 Microsoft Bot Framework 中设置表单生成的附件的 ContentUrl?

我想在 Facebook Messenger 上从我的机器人发送带有按钮的图像轮播。

如何在 Microsoft Bot Framework 中设置表单生成的附件的ContentUrlContentType ?

创建 Message 对象时,我可以手动执行此操作:

C# 代码、JSON 响应和 Messenger

但是我不知道在使用表单时该怎么做。我可以使用DescribeAttribute设置操作的图像 URL,该 URL 显示在 JSON 响应中。

但这并没有做/显示任何事情,我认为图像需要成为 Attachment 对象的一部分,而不是 Action 的一部分。

部分 C# 代码、JSON 响应和 Messenger

0 投票
1 回答
1480 浏览

c# - 如何链接多个对话框?

我正在使用 C# Bot Builder 开发一个机器人。

现在,我知道有很多关于如何处理链接对话框的例子。像 FacebookAuthDialog 或 ChainedEchoDialog。

我想要做什么:用户必须通过授权对话框,完成后,我想立即将用户放入“UserDialog”,在那里他可以使用所有需要他的身份验证的功能。

这是我的代码:

这种作品。我从 MessageController 调用此对话框

但这感觉不对。每次对话完成时,我还必须调用此对话两次,因为当用户输入某些内容时,什么都不会发生,因为这只会启动对话。

我试图在 AuthenticationDialog 案例执行后放置另一个 ContinueWith,但我无法让它工作。

我真的很感谢一些代码片段的帮助。我完全一无所知。

问候

0 投票
2 回答
2518 浏览

botframework - PromptDialog.Choice 不显示选择

我正在寻找我们如何使用IDialog<object>PromtDialog.Choice方法向用户显示选择。但是下面的代码示例没有显示选择。很难找到代码示例。寻求帮助。谢谢你。