问题标签 [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.
javascript - 我正在尝试使用 Microsoft bot 框架构建聊天机器人
我在这里定义了一个字典
当用户询问“英语 101 在哪里”时,我希望机器人回复“在 205 房间”。
我通过以下方式对其进行硬编码:
我不想对每个问题进行硬编码,而是将一些正则表达式传递给 dialog.matches() 函数的第一个参数并将其用作键,Bot 应该能够从字典中获取值并发送回用户
我尝试了以下方法,但没有奏效:
我怎样才能将标准输入传递给“str”并从字典中获取值?
botframework - 当我使用 Direct Line API 回复 .Prompts.choice() 时,我的机器人无法正常工作
我正在使用 Direct Line API 制作网站。 http://qavppy-bot-test-123.azurewebsites.net/
但是,当我重播 .Promts.choice() 的问题时,我的机器人无法识别消息。我不知道为什么,但机器人说 .onDefault() 的消息。似乎机器人无法正常工作......
当我使用其他方式(Slack、WebChat 等)时,机器人可以正常工作。
请建议。
c# - 未确定数量的问题的 PromptDialog
我正在尝试编写一个允许用户创建请求的机器人(例如,我想买一件 T 恤或者我想修理我的电脑)。根据他们选择的请求,他们将被问到与该请求相关的一系列问题;这些问题与他们选择的请求直接相关。目前我正在尝试遍历这个问题列表并使用 PromptDialog.Text 方法来获得答案。但是,这只会询问列表中的最后一个问题,当给出答案时,我会收到一个无效需要的错误:预期等待,已完成作为消息。
是否有可能做这样的事情,我想动态地决定用户在运行时会被问到的问题,还是我需要采取更静态的脚本化方法?
bots - 如何使用 Microsoft Bot 作为客户端在 Skype Bot 中显示图像
我正在使用 Microsoft Bot Framework 开发一个 Bot,该 bot 将通过向用户发送一些图像来响应。我用 slack 和 skype 配置了它。
在 slack 中显示图像,但在 Skype 中没有任何内容。
要发送图片,我使用了以下语法
参考dev.botfrmaework.com, Text 属性是 Markdown 部分清楚地提到了如何链接图像来回复消息。
如果我只回复如下链接,Skype 能够理解和显示链接。但是如果我像上面提到的Skype无法理解。
c# - Microsoft Bot Framework FormFlow - 覆盖 [可选] 属性?
我有一个将LUIS 实体绑定到 state的 FormDialog 。
在 AbstractFormDialog 的一个子类中,我希望能够说其中一些实体是必需的,因此“无偏好”不是一个选项。就像是
有谁知道这是否可能?当然,我可以在基类中设置所有必需的属性,然后在扩展它的每个类中,列出哪些实体实际上是可选的。不过这种设计很糟糕,因为如果要添加一个新实体,每个子类都需要更新。
node.js - bot.beginDialog 到特定的用户和频道
我希望我的机器人在未来某个时候与其他用户发起新的对话。我不是像Bot Connector Node.js文档中那样由传入的 POST 消息发起,而是尝试从对话本身发起。
目前还不清楚哪一种是 Node 的推荐方法:使用 require('botconnector')
、ConnectorClient()
或 Bot Connector REST API。
但是,基于run-async和LUIS示例,我注意到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" });
)。我错过了什么吗?
;
c# - 以定义的次数回调 FormDialog
我正在尝试创建一个向用户提问的机器人。在启动时,机器人会询问用户会采取哪种选择:
- 开始测验(之后他必须选择测验的主题和难度);
- 看看他上次测验的分数;
- 重置分数。
测验的内容在一个 XML 文件中。我已经将相关的问题和答案存储在一个结构中。
FormBuilder 是:
因此,我做了一个带有开关的 IDialog,它决定了用户的选择。如果用户选择开始测验,则 DefaultCase 将被激活:
我想向用户显示 10 个问题,这就是为什么我认为召回 FormBuilder 是个好主意,因为我不知道如何以另一种方式做到这一点。当我构建并运行它时,在选择了难度之后,Bot Framework 模拟器会发送一个 500 内部服务器错误。
这就是为什么我试图调用一个“测试”FormBuilder,它由一个简单的消息和三个选项组成,看看我是否可以用 for 循环调用 FormDialog。这是 FormBuilder :
这是 IDialog :
这样,FormDialog 将显示一次,但我看到执行了 for 循环。但是,testDialog 变量为空。
那么,您知道如何正确回忆我的 FormBuilder 以在 Bot Framework Emulator 上提出 10 个问题吗?
非常感谢 !
c# - 如何在 Microsoft Bot Framework 中设置表单生成的附件的 ContentUrl?
我想在 Facebook Messenger 上从我的机器人发送带有按钮的图像轮播。
如何在 Microsoft Bot Framework 中设置表单生成的附件的ContentUrl和ContentType ?
创建 Message 对象时,我可以手动执行此操作:
但是我不知道在使用表单时该怎么做。我可以使用DescribeAttribute设置操作的图像 URL,该 URL 显示在 JSON 响应中。
但这并没有做/显示任何事情,我认为图像需要成为 Attachment 对象的一部分,而不是 Action 的一部分。
c# - 如何链接多个对话框?
我正在使用 C# Bot Builder 开发一个机器人。
现在,我知道有很多关于如何处理链接对话框的例子。像 FacebookAuthDialog 或 ChainedEchoDialog。
我想要做什么:用户必须通过授权对话框,完成后,我想立即将用户放入“UserDialog”,在那里他可以使用所有需要他的身份验证的功能。
这是我的代码:
这种作品。我从 MessageController 调用此对话框
但这感觉不对。每次对话完成时,我还必须调用此对话两次,因为当用户输入某些内容时,什么都不会发生,因为这只会启动对话。
我试图在 AuthenticationDialog 案例执行后放置另一个 ContinueWith,但我无法让它工作。
我真的很感谢一些代码片段的帮助。我完全一无所知。
问候
botframework - PromptDialog.Choice 不显示选择
我正在寻找我们如何使用IDialog<object>
和PromtDialog.Choice
方法向用户显示选择。但是下面的代码示例没有显示选择。很难找到代码示例。寻求帮助。谢谢你。