问题标签 [direct-line-botframework]

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 回答
90 浏览

logging - 在 Azure 中创建登录

我使用 html n Javascript 创建了一个自定义聊天。它的工作原理如下

我的查询是假设有一个用户A,他正在使用这项服务。代码一切正常。请求被正确触发,响应按预期准确接收。

当用户提出一些问题时。我希望它以文本格式存储在天蓝色中

我得到的回应是这样的

我的直拨电话包含这样的请求数据

我已经掌握了所有这些信息,但我不知道我应该如何以上述格式创建日志。请让我知道我该怎么做。文档或示例会有所帮助。

我在问这个,因为这是某种聊天机器人,它会在一边列出常见问题解答。我希望这是基于用户的,我的意思是用户 A 登录,常见问题解答将根据该用户之前的要求生成。

谢谢

0 投票
1 回答
377 浏览

botframework - 带有 Bot 框架的独白

我们正在为我们的聊天机器人使用 Microsoft Bot Framework。我们的消息控制器是标准的:

有时,机器人需要有很长的独白。如果时间过长,我们会收到 502 Bad Gateway 错误。

有什么解决方案吗?

0 投票
3 回答
3749 浏览

node.js - 我可以在本地托管 MS Bot Framework Node.js 实例吗

我们构建了一个 MS Bot Framework 机器人,它在对话期间使用我们现有的内部本地 API。我们希望通过将Web 聊天组件放入我们现有的、面向内部的本地应用程序的 DOM 中来发布此机器人。

对于我们现有的架构,我们自然也希望在内部托管这个机器人——以利用我们现有的所有配置和部署流程。我们知道,无论如何,机器人都必须与 LUIS 通信——这对我们来说很好;它不需要 Azure 直接连接到我们的内部业务数据 API 的更复杂(更大的攻击面,更少的中央 IT 支持)设置。

我认为这张图更清楚:

机器人托管配置

我们可以实现底部托管配置中描述的内容吗?

编辑 1:我们还可以在本地托管直接线路或类似的连接器,而无需编写自定义连接器吗?此外,我们是否可以通过这样的连接器与我们的机器人聊天,而无需为 DOM 编写自定义聊天组件/小部件?(只要指向我们的频道,网络聊天组件就可以正常工作。)

这里的最终目标是让我们所有的聊天流量都留在本地,因为这是一个数据驱动的聊天机器人,提供敏感号码。与获得我们中央 IT 部门的批准相比,在另一个可以完全在本地运行的框架中重新开发它所花费的时间更少。

旁注:我知道 Azure Stack 预览版。最低硬件要求(可能还有订阅费用)是极端过度的。(毕竟,我们谈论的是单个 Node 应用程序。)

这不是此问题的重复,因为此问题还解决了直接/线路连接器本地托管的关键要素,其中另一个问题假设连接器仍将在 Azure 上运行。

0 投票
0 回答
233 浏览

botframework - MS Bot 框架 | DirectLine API | 消息 ID 格式不一致

同样的问题:https ://github.com/Microsoft/BotBuilder/issues/2170 ,只是希望快速回复。

所以我们有一个使用https://www.npmjs.com/package/botframework-directlinejs的 Web 界面(效果非常好),并且我们使用通过直接线路返回的消息(机器人和用户消息)具有 messageId 的事实格式“G0SRNz7iwTiLehjQsXk3tI|0000001”、“G0SRNz7iwTiLehjQsXk3tI|0000002”等对我们的 FE 上发送和接收的进行排序。

但是......机器人代码本身中的消息(活动)具有 GUID 格式的 messageId。即使您通过直接线路的请求在代码中达到了这一点。

所以我的问题是:在返回给用户之前,直线是否对他们身边的消息(id)进行了某种拦截和丰富?那么为什么这些消息在我们的机器人代码本身中没有相同的 ID?

我要问的原因是,我们通过 signalR 将消息广播到单独的“管理控制台”。但该消息有一个 GUID id。但是该消息在网络聊天端有一个直连 ID。

您可以想象这会如何按照正确的顺序对消息进行排序。特别是因为消息上的时间戳不可靠 - 消息经常以错误的顺序排列。

非常感谢任何反馈。

0 投票
1 回答
691 浏览

botframework - 上传 BotFramework DirectLine 的最大文件大小

我正在开发一个使用 Microsoft 的 BotFramework DirectLine API 的原生 iOS 应用程序。当用户使用 iPhone 相机拍照时,我在尝试使用上传端点时遇到问题。

我从 API 得到的响应是:

首先我以为是代码...然后,在使用其他图像进行测试后,我得出结论,使用上传端点时必须有最大文件大小限制。

所以我的问题是,上传端点是否有最大上传文件大小限制,如果有,它是什么?

如果有,这是否意味着我必须实现自己的文件上传 API,然后在我发布到 DirectLine 活动端点的消息中将 URL 传递给这个上传的文件?

0 投票
1 回答
697 浏览

c# - 如何在机器人框架中隐藏活动消息

我在 C# 中使用 DirectLineClient 向 Bot 发送消息,但我也有其他用户通过 webchat 使用 bot 框架嵌入聊天,并且有一些我不希望他们看到的消息(webchat 用户),有什么办法通过活动消息隐藏此消息?我正在尝试以下代码,但它不起作用,

发送一个 PostBack Action,在 Bot:SenderMessageuser 之间创建一个私人聊天,即使在网络聊天中的其他用户也能够看到该消息。

在活动中隐藏消息的任何想法?提前谢谢你。

0 投票
0 回答
325 浏览

aws-lambda - 托管在 AWS API Gateway 中的机器人框架

我一直在尝试将我的 botframework 机器人部署到 AWS API Gateway。我正在使用aws serverless express框架来托管此应用程序。

我唯一能找到的就是这个对话,它提供了一些关于如何让它发挥作用的好主意。

https://gitter.im/Microsoft/BotBuilder?at=57832060bdafd191075d92b3

上面的建议是将请求传递给运行良好的侦听器函数

并将以下内容用于 end 可以是无操作的响应。

我运行但没有收到机器人响应的代码是这样的。

如果我删除 res.end() 并按照建议保留为无操作,我会在 1-2 秒内收到来自聊天机器人的响应,但它也会使 lambda 运行 30 秒,这是 API 网关的超时。

有没有办法让这个工作,这样我就可以在不使 lambda 超时的情况下接收回消息?

0 投票
0 回答
253 浏览

c# - 多用途自动回复机器人(Microsoft Bot Framework)

我正在制作一个机器人,它可以使用FormFlow回复电子商务网站(如书店、花店、摩托车店等)来创建我存储在数据库中的选择。这里的问题是机器人如何根据网站的目的向我的客户提供正确的选择(例如:客户通过花店网站与机器人聊天,所以机器人必须提供与“花”相关的选择客户和从其他网站聊天的客户必须收到正确的提示选择)。我真的不知道如何将 ServiceUrl 传递给 FormFlow 类来识别 Bot 应该回复的选择?

0 投票
1 回答
215 浏览

c# - FormDialog 显示来自 Model 类 Bot 框架的一些特定字段

我想在我的RootDialog中显示一个DialogForm。我试图通过从 dialogs 调用表单来做到这一点。但是,我的问题是我有一个由实体框架生成的模型类,其中包含一些关于主键(或外键)的字段,我不希望我的客户为其输入输入。所以我的问题是如何制作一个 DialogForm 只要求我的客户输入我想要的字段?这是我的模型类:

因此,我曾经称之为 FormDialog:

0 投票
1 回答
246 浏览

botframework - 从另一个 channelId 在 channelId 上发送消息

我想知道是否可以在“模拟器”上的对话中从“直线”发送消息。

我获取了对话的 id 并将其放入查询中。我有这个错误。 https://directline.botframework.com/v3/directline/conversations/gae5nfamid768494c/activities

{ "error": { "code": "BadArgument", "message": "Unknown conversation" } }

所以我想知道这是否可能?

谢谢