我试图将我的Web应用程序托管在localhost上。我正在使用Directline 3.0,并且想使用websockets将消息推送到窗口中。我不想嵌入机器人。我已经有了GET和POST请求,因此我可以通过运行带有承载令牌的javascript文件来发送和接收对话,并通过从bot发送和接收消息来恢复运行的对话,但是我希望这可以在localhost网站上进行在没有嵌入的基于聊天的窗口上。
我该怎么做?如何将websocket的聊天窗口链接到GET并发布文件,以便我可以实时发送消息。
答案 0 :(得分:0)
我建议您使用BotFramework-DirectLineJS软件包将Direct Line直接集成(无双关语)到您的项目中。该软件包是专门为与机器人进行通信而构建的,而无需使用WebChat作为UI组件。
有一个v3 example您可以参考。该项目在DirectLineBot和DirectLineClient之间划分。 DirectLineBot演示了v3机器人。您需要更新此文件夹以包括您的v4 Bot。 DirectLineClient与v3或v4相同。因此,当您的客户端连接,生成令牌并开始发送活动时,您的v4僵尸程序应选择这些活动并做出相应的响应。同样,您的客户也应选择机器人的响应。
这时,您需要更新客户端以显示从用户/机器人发送和接收的活动。
您还可以考虑从WebChat开发人员那里查看这个非正式的“纯ui” sample。它使用React,但是它不依赖WebChat作为UI组件。我能够在大约5分钟内将其旋转。特意删除了所有样式,仅将活动作为text / json对象发布到页面上。
您可以删除输入字段并将页面配置为接受要在页面上呈现的输入。这可能是一个有用的起点,并且可以很好地与上述DirectLineJS选项配合。
如果这些选项都不可接受,那么您将需要使用Axios,Fetch或某些类似的程序包在客户端和bot之间进行GET,POST等调用。
希望有帮助!