问题标签 [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 回答
1405 浏览

c# - Microsoft Bot Framework DirectLine 无法访问对话

我正在尝试使用 Microsoft Bot Framework DirectLine API 来读取消息并将消息添加到其他用户和我的机器人之间的现有对话中。从我读过的内容来看,我相信在使用主机密时这应该是可能的,但它对我不起作用。我正在使用 WebAPI 尝试访问我现有的两个对话(在 Facebook 和 Skype 上),如下所示:

它以静默方式调用 PostMessage() 失败,并为 GetMessages() 失败并返回 404。我似乎在做正确的事情,该机器人是实时的,并且在 Facebook 和 Skype 中与 DirectLine API 分开运行良好。它仅在我使用 DirectLine API 创建新对话时才有效,然后我可以访问其消息并向其发布新消息。

这个问题有点帮助,但并不能完全告诉我如何解决它: Difficulty access messages in an existing conversation in Microsoft Bot Framework

任何帮助将非常感激。

谢谢

0 投票
2 回答
320 浏览

websocket - 在 Xamarin 表单上使用 BotFramework

所以我使用 DirectLine 客户端在 Xamarin Forms 上使用 BotFramework。我能够开始对话,根据此处的文档,我应该连接到流的 url,该 url 出现在初始 POST 请求中以开始对话。现在,文档说明我应该收到一个“https://”常规 URL,但是我收到一个“uwss://”URL 以使用 websocket。目前没有可用于 Xamarin 的 websocket 库(至少我没见过)我该如何继续?有什么建议吗?

0 投票
1 回答
1042 浏览

c# - Direct Line API - 机器人框架/英雄卡片和附件

我刚开始使用 Direct Line API (1.1),我发现它不会让您知道对话是显示在英雄卡还是按钮中。

上面的代码(在模拟器中)显示在带有按钮(卡片动作)的英雄卡片中。Direct Line API 没有标记?有办法吗?

0 投票
1 回答
111 浏览

botframework - 如何在 Directline api 的响应中解释/感知按钮的存在?

考虑到 MS 机器人有一个动作卡响应,它在 Skype 中如下所示: 在此处输入图像描述

当这种类似的响应出现在 REST API 中时,即使用 Direct Line API。以下是 JSON 响应的相关部分。

现在,问题是我们如何解析这个 json 以从属性中获取按钮数据 [ (Current Weather) action?weather=Seattle, WA"] ?text唯一的方法是模式匹配吗?

有没有人遇到或知道解决方案,请在这里也放一些光;)


更新:如果它的不同渠道,如 skype/webchat/etc.. JSON 响应看起来非常适合使用,以下是示例 JSON。

0 投票
0 回答
202 浏览

node.js - 聊天机器人无法在我的 Web 应用程序上运行

我正在尝试使用 Microsoft Bot Framework 构建一个聊天机器人。我是新来的。目前我能够成功地建立一个独立的聊天。但是,在尝试将我的聊天嵌入到我的应用程序中时,它会抛出 500 内部服务器。(PS:当前在 localhost 中运行我的应用程序)

这就是我到目前为止所做的一切(我相信我可能错过了一些步骤):

  1. 使用 /api/messages 和 https 端点注册了应用程序。
  2. 添加了直接链接频道(网络聊天已经存在)。
  3. 使用网络聊天密钥(不是令牌)在我的 html 中嵌入网络聊天。
  4. 然后在 server.js 中添加了与 localhost 连接的 hello world 聊天机器人。你好世界代码
  5. 最后运行代码。

我可以从本地主机访问我的应用程序,还可以看到前端显示的聊天控制界面。但是,当我输入内容时,它会引发 500 Internal Server Error。

请让我知道我错过了什么。

PS:在 MEAN 堆栈中的应用

0 投票
1 回答
1087 浏览

botframework - 如何将我的机器人添加到 Skype 群聊?

我构建了一个机器人,为 Skype 启用了它,并打开了群组选项。

当我与机器人一对一聊天时,它运行良好,并且出现在我的“机器人”下的联系人中;但我无法将其添加到群聊中,它不会出现在“添加人员”列表中,即使我键入/add my_bot_idSkype 也会以my_bot_id can’t be added to this conversation due to his/her privacy settings.

我错过了什么?

(编辑:我正在使用 Mac 版 Skype,这是问题所在吗……?)

0 投票
1 回答
284 浏览

node.js - BotFramework Emulator 如何在没有 BotConnector 注册的情况下与本地托管的机器人交谈?

据我了解,模拟器使用 DirectLine API 与本地托管的机器人对话,即使用http://localhost:3978/api/messages

这怎么可能?要使用 DirectLine API,需要

  1. 在 BotConnector 中注册其机器人
  2. 提供消息传递端点
  3. 启用 DirectLine API 并生成 DirectLine API 密钥

模拟器仅满足消息传递端点要求(http://localhost:3978/api/messages),但它仍然可以完美运行。为什么其他渠道需要 BotConnector 注册?

0 投票
1 回答
522 浏览

asp.net - 如何在 Microsoft Bot Framework 中为不同的用户创建不同的会话?

我是新手Microsoft Bot Framework。我创建了一个使用Microsoft Bot Framework. 如何创建会话,以便variebles添加到控制器中是个人特定的。目前我面临的问题是,每当多个用户与机器人聊天时,其中的值都会variebles被覆盖,从而给用户提供错误的值。

0 投票
1 回答
896 浏览

botframework - Skype Bot Rest API 对话 ID

所以我使用了一个帐户并向我的 Skype 机器人发送消息。

我在我的端点 url 上得到这个 json 响应。我发了一条短信“添加”

当我使用 yyyy 作为 conversationId 返回此网址时

发布 /v3/directline/conversations/{conversationId}/activities https://directline.botframework.com/v3/directline/conversations/yyyy/activities

使用此参数:

我收到一个未知的对话响应。不知道出了什么问题。

0 投票
1 回答
880 浏览

javascript - Microsoft Bot Framework 请求中的 MissingProperty 错误

我正在开发一个使用 Microsoft Bot Framework 的应用程序。我的应用程序是用 Node.js 编写的。此时,我正在尝试使用以下代码发布活动:

运行此代码时,我收到一个错误。这是状态码 400 的错误,它具有以下内容:

我不明白什么财产丢失了。一切看起来都是正确的。