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

c# - 将 httpheader 传递给 conversationupdated 事件 - 直线

在使用 DirectLine 客户端开始与机器人对话时发送自定义 http 标头值。在我无法在 Request.Headers["userName"] 中找到它的 ConversationUpdate 事件中期待它

0 投票
2 回答
501 浏览

botframework - 保持机器人活着

我们正在使用 MS Bot Framework 构建一个机器人。有时,当不使用机器人时,响应时间太长,我们会收到 [500] 内部服务器错误。当我们尝试在我们的应用程序上访问机器人时,我们会看到这个问题(我们使用 Direct Line 与机器人交互)。

我已经阅读了有关确保应用程序活动的 Microsoft Azure 设置设置为“始终开启”的其他答案,我们已经这样做了。但是由于 Always on 正在 ping 我们的 bot web 应用程序的根,我认为这可能不足以让 bot / directline 保持活力......

而且我没有任何从 http 到 https 的重写规则阻止 ping 请求成功..

有人有这个问题吗?

更新问一个特定的问题:如果上面解释的所有设置都不起作用,我们如何确保我们的机器人始终处于活动状态?我们应该通过直接框架 ping 我们的机器人吗?

0 投票
1 回答
726 浏览

node.js - 对机器人进行 POST 时出现 502(网关错误)

我正在构建一个非常简单的交互式 BOT,只使用 HTTP-GET 和纯 JS。有时我让 BOT 进行时间密集型处理,需要 40 秒才能回复。在这种情况下,我会收到以下 POST 响应。

  1. 那么,这个回报是预期的吗?

  2. 我做了哪些更改才能收到有意义的响应,而不是将这种情况视为真正的错误?

  3. 处理这种情况的任何其他建议?

谢谢!

发布请求

获取请求

0 投票
1 回答
264 浏览

botframework - 是否可以在不使用直连方式传递 microsoft bot 连接器的情况下调用我的 bot webservice?

是否可以使用 Directline api 从另一个 .net 应用程序调用我的机器人网络服务,女巫在本地托管并在网络上公开可见,但不必通过 Microsoft Bot 连接器路由消息?

我的意思是,而不是客户端应用程序必须发布一条 http 消息到

https://directline.botframework.com/v3/directline/conversations/{conversationId}/activities _

直接向

https://{mydomain}/v3/directline/conversations/{conversationId}/activities

遵循图表以帮助理解我正在尝试做的事情:

在此处输入图像描述

0 投票
2 回答
1577 浏览

javascript - 通过单击链接将文本提交到 BotFramework WebChat

我使用 Microsoft Bot Framework 开发了一个聊天机器人,并通过 DirectLine 将其包含在我的网站中:

默认情况下,聊天机器人窗口是隐藏的,只有在用户单击“与聊天机器人聊天”链接时才会出现。

但我也希望通过单击此链接,聊天机器人立即开始对话。我正在尝试通过填写聊天输入并在单击链接时将其发送到聊天机器人来使用 Jquery 执行此操作。

但这不起作用。输入不会发送到聊天机器人,因此聊天机器人不会说任何话。

有什么想法我在这里做错了吗?

非常感谢 :)

0 投票
1 回答
571 浏览

c# - 使用 Direct Line v3.0 NuGet 包向我的机器人发送消息

我正在尝试使用Direct Line v3.0 NuGet 包向我的机器人发送消息。我正在关注 Github 上的示例,但没有得到我期望的行为。

这是示例代码:

这是我的代码:

我正在记录我的机器人收到的所有消息。我可以使用 Bot Emulator 在 Azure 上的端点与 bot 对话,因此我确信它正在通过 Web 聊天 API 工作。但是,当我运行上面的代码时,机器人只记录一条conversationUpdate消息。我发送的消息没有被记录,response值为null.

我希望有人能帮我找出我哪里出错了。谢谢!

0 投票
2 回答
806 浏览

node.js - 我们如何在 Microsoft Bot Framework 中为不同的用户维护不同的会话?

我已经使用Bot 框架创建了一个机器人,并且想知道在使用directline时是否有任何方法可以为不同的用户维护不同的会话。
在使用 Skype 频道时,会为个人用户维护用户会话,我想在我的直连客户端中实现相同的功能。
在我的情况下,上一个会话数据被下一个会话数据覆盖。
我正在使用Node.js构建机器人。

0 投票
0 回答
250 浏览

botframework - 在 Bot 框架中,我无法使用“从机器人接收活动”连接套接字

在 Bot 框架中,我无法使用“从机器人接收活动”休息客户端连接套接字(请参阅 API 文档

请从“开始对话”restful API 中找到以下响应

我尝试使用“StreamUrl”连接套接字,但无法连接套接字。套接字返回:

连接失败。

对于套接字连接,我使用IO socket库。在连接我在 URL 中替换wss的套接字之前。https

请让我知道您对以下问题的回答/解决方案

  1. 我们是否需要为套接字连接添加任何“SSL证书”?

  2. 在 URL 中替换wsstohttps是正确的?

0 投票
1 回答
79 浏览

botframework - ServiceError 与基本的 Direct Line 交互

我有一个基本的机器人,我试图通过 Direct Line 与之交互。按照这个例子,这些是我的请求的样子:

开始对话

在此处输入图像描述

发送活动

在此处输入图像描述

它所响应的错误很难用如此少的信息进行调查。该机器人本身在其他渠道上运行良好。

有没有人见过这个?

0 投票
1 回答
667 浏览

c# - 如何从 console.application 中删除 Botframework 的对话框堆栈

问题:如何从控制台应用程序(或 Web 作业)中删除 Botframework 的对话框堆栈

我想删除用户的对话框堆栈,以便用户在停止与 Bot 交谈并且几个小时过去后可以返回到根对话框。作为测试,我创建了以下控制台应用程序并尝试删除用户的对话框堆栈。

但是,调用以下方法时会发生异常。

等待 botData.LoadAsync(default(CancellationToken));

例外情况如下(401 未授权)。

System.AggregateException 发生 HResult=0x80131500 Message=1 つ以上のエラーが発生しました。 Source=mscorlib StackTrace: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32在 C:\Users\sheda\documents\visual studio 2017\Projects\ConsoleApp6\ConsoleApp6\Program 中 ConsoleApp6.Program.Main(String[] args) 的 System.Threading.Tasks.Task.Wait() 的毫秒超时,CancellationToken cancelToken) .cs:第 22 行

内部异常 1:OAuthException:未经授权

内部异常2:HttpRequestException: 応の状态コードは成功を示していません: 401 (Unauthorized)。</p>

你能告诉我如何删除对话框堆栈吗?

仅供参考:我知道如果我创建 StateCient 实例并调用 DeleteStateForUserAsync() 方法,我确认该方法可以删除对话框堆栈。但是该方法不仅删除了对话框堆栈,还删除了在状态服务中设置的属性。我想只删除对话框堆栈。因此,我正在寻找另一种方式。