问题标签 [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.
botframework - Proactive Bot 创建 PromptDialog.Choice
我有一个控制器,它接收来自另一个应用程序的发布请求。
从那以后,我能够通过以下方式与添加机器人的用户发起对话:
这允许我在我的 ApiController 中向用户提示一条消息,而无需用户先与机器人发起对话。接下来我通过调用将此信息发送到另一个类:
新对话框:
当我这样做时,即使在我的 API 控制器中我确实设置了 ReplyToId ,我也会收到以下错误消息 message.ReplyToId = userAccount.Id
;给我之前通过 Skype 主动联系的用户。:
c# - Bot c#:如何通过直线重新连接到旧对话
我正在使用 WebChat DirectLine 将我的 Bot 集成到 xamarine 应用程序中,但我不知道我是否可以在用户输入任何新内容之前加载存储到数据库中的旧对话。另外我怎样才能从直线获取用户ID。
javascript - 使用 DirectLineJS 创建网站
我正在尝试将 DirectLineJS 设置为在网站中工作,仅用于测试目的。我已经构建了 DirectLineJS 存储库并将 /built/directLine.js 添加到我的网站文件夹中,遵循此处的文档https://github.com/Microsoft/BotFramework-DirectLineJS
在 HTML 页面中,我只是使用一个按钮尝试通过直线发送消息
当我运行网站时,我得到的错误是意外的令牌导入 import { DirectLine } from "botframework-directlinejs";
如何正确导入 botframework-directlinejs 文件以便使用 DirectLine 对象?
c# - 我可以使用 botchat.js 进行整个聊天对话吗
我在我的 Windows 窗体应用程序中使用 BotChat.js 来获取带有此代码的聊天窗口
这工作正常。现在我想在我实现这个的 Windows 窗体应用程序中进行整个对话。
我能得到它吗?如何 ?
javascript - DirectLineJS 接收 Bot 回复的副本
我正在使用 DirectLineJS 通过网站从自定义网络聊天中进行交流。我正在使用从微软的 github https://github.com/Microsoft/BotFramework-DirectLineJS发布的格式
我是如何实现的
每当我开始阅读消息时,每条消息的副本数都会来回增加一,因此我的网站将经历这个循环:
我 - 向机器人发送消息
BotReply - 消息 1
我 - 向机器人发送一些消息
BotReply - 消息 2
BotReply - 消息 2
我 - 一些信息
BotReply - 消息 3
BotReply - 消息 3
BotReply - 消息 3
等等
对于重复的消息,我从机器人收到的响应 ID 也不会增加,所以说 msg 3 的 ID = 00005,每个 BotReply - msg 3 的 ID = 00005,但 msg 4 的 ID = 00007
在我的实际机器人中,我通过使用发送消息await context.PostAsync("Some mesage");
,仅此而已
我能做些什么来减少消息回复只收到一个?
文档指出“Direct Line 将有助于向您的客户发送每个已发送活动的副本,因此一个常见的模式是过滤来自以下的传入消息:”即使我正在过滤来自“mybot”的消息
c# - DirectLine API 从不返回对话
所以我使用微软的 Bot 框架和他们的 DirectLine api 来与之交谈。我这样做是因为我需要向机器人发送通知。下面的类由我在后端拥有的端点调用。所以当我调用我的通知端点时,这个类被调用并且应该开始与机器人的对话以触发其中的某些事件。问题是它似乎没有按预期工作。当我运行代码并向我的端点发出请求时,它卡在 var conversation = await client.Conversations.StartConversationAsync();
await 关键字上会停止执行直到它完成,问题是它永远不会完成。但是我可以在调试窗口中看到请求是使用 201 创建的状态码发送的,所以它应该完成,但它永远不会完成。不知道在这里做什么。
botframework - MS bot 框架 session.send 无法发送消息数组
我正在使用 MS bot 框架节点版本 3.8.1 如第 1216 行Ms botbuilder中的评论所述
session.send 应该能够发送消息数组。但是,当我尝试这个非常简单的代码时
我观察到只有最后一条消息“last”被传递给用户。没有抛出错误。关于原因的任何想法还是错误的文档?有什么方法可以向用户发送消息数组?
谢谢
c# - 机器人的 Microsoft DirectLine API 不起作用
所以为了解释我的问题,我必须给你背景。
我得到了一个使用 slack 上部署的 microsoft bot 框架构建的 Bot。现在它可以在机器人与之通信的我的后端发生这些“事件”。当一个事件发生时,我想通知我的机器人,然后让它向所有的对话发送一条消息,告诉它发生了什么事。所以基本上:
为此,我必须将所有对话存储在我的后端,我在那里的数据库中进行。当事件发生时,后端将向机器人发布一个活动,其中包含所有对话(基本上是他们的 id)以及它应该显示的事件。
所以本质上我的后端需要向我的机器人发布消息。
为此,我在这里找到了充当中间人的 microsoft directline api,这是一种与机器人交谈的更抽象的方式。问题是我不知道该怎么做。我遵循了微软自己的教程,但它似乎对我不起作用:
这是我的后端用来通知机器人的端点。“内容”包含作为 json 格式字符串的对话和事件。
NotifyBot.Notify(content) 看起来像这样:
基本上执行被卡在var conversation = await client.Conversations.StartConversationAsync();
,它只是永远等待。我尝试将其更改为var conversation = await client.Conversations.StartConversationAsync().ConfigureAwait(continueOnCapturedContext: false);
“执行继续,但活动似乎没有发布。
azure - 天蓝色函数未通过 DirectLine 连接到机器人框架
我尝试设置触发 HTTP 的 azure 函数,并随后调用 azure bot 框架 [azure 上的机器人服务]。
以下是我在设置时遇到的错误:
环境:
- 节点开发
- 在BotFramework-DirectLineJS使用
directline-JS
git repo
相关问题: