在NODEjs上使用directline 3.0在网站上部署azure bot

问题描述 投票:0回答:1

我想在localhost上托管我的网络应用程序。我正在使用directline 3.0,我想使用websockets将消息推送到窗口中。我不想嵌入机器人。我已经有了GET和POST请求,所以我可以通过运行带有持有者令牌的javascript文件来发送和接收对话,并通过发送和接收来自机器人的消息来恢复对话,但我希望这发生在localhost网站上在没有嵌入的基于聊天的窗口上。

我怎样才能做到这一点?如何将websockets的聊天窗口链接到GET并发布文件,以便我可以实时发送消息。

node.js azure websocket botframework direct-line-botframework
1个回答
0
投票

我建议你使用BotFramework-DirectLineJS包直接将Direct Line集成到你的项目中(没有双关语)。此软件包专为与机器人通信而构建,无需使用WebChat作为UI组件。

你可以参考v3 example。项目在DirectLineBot和DirectLineClient之间拆分。 DirectLineBot演示了一个v3机器人。您需要更新此文件夹以包含您的v4 bot。 DirectLineClient与v3或v4的工作方式相同。因此,当您的客户端连接,生成令牌并开始发送活动时,您的v4机器人应该选择这些并相应地做出响应。同样,您的客户应该获取机器人的响应。

此时,您需要更新客户端以显示从用户/机器人发送和接收的活动。

您也可以考虑从WebChat dev查看这个非官方的“普通ui”sample。它使用React,但它不依赖于WebChat作为UI组件。我能在约5分钟内旋转它。它有目的地剥离任何样式,并简单地将活动作为text / json对象发布到页面。

您可以删除输入字段并将页面配置为接受要在页面上呈现的输入。它可能是一个有用的起始位置,可以很好地适应上面的DirectLineJS选项。

enter image description here

如果这些选项都不合适,那么您将需要使用Axios,Fetch或类似的软件包在您的客户端和机器人之间进行GET,POST等调用。

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.