BotFramework Web聊天与现有的聊天框



我试图了解如何在不使用Azure和使用DirectLine的情况下将BotFramework (c#)与现有应用程序集成,但迄今为止我所看到的一切都需要Azure订阅。我看过ngrok,但不确定它对于生产环境是否可靠。我也一直在挖掘botframe - emulator和botframe - webchat的源代码库,但没有找到与我的用例相关的好信息。

  • 如果我们有一个已经存在的"聊天框",它已经被样式化了,并且有一些用户可以输入的基本命令,我怎么能重用这个聊天框,而只是实现BotFramework路由?这个想法是我们的标准聊天框,但当用户输入一个命令,如/todo,它将启动一个新的聊天机器人对话。如果没有Azure,我们如何生成DirectLine令牌来访问我们的c# WebAPI BotFramework聊天机器人?我试着在devtools中打开WebSocket来尝试发送消息,但没有成功

当然,可以只使用普通的REST路由,但更理想的是使用WebSocket来发送/接收消息。

一般来说,Azure Bot服务是使用Microsoft Bot框架的必要组件,因为它充当了Bot和特定渠道之间的连接器(通过支持的渠道- DirectLine, Teams, Slack, Facebook等)。它还负责生成令牌,使您的bot能够连接并传递消息。

但是,可以在不使用Azure bot服务的情况下运行bot。可以满足您的需求的两个选项是:

  1. offline-direct: "本地模拟bot框架连接器的非官方包。">
  2. InDirectLine: "[T] DirectLine是连接你的机器人和客户端的桥梁。这个项目(InDirectLine)是我自己的一个自定义实现…">

你需要研究两者,以确定哪一个,如果其中一个,可以/将满足你的需求。但是,简而言之,这两个项目都允许您在本地运行bot,或者从托管的远程环境运行bot,并连接到它。

希望有所帮助!

最新更新