从一个机器人实例服务多个机器人

serving multiple bots from one bot instance

我想从一个机器人实例为多个机器人提供服务。 例如:api/bot1/messages、api/bot2/messages 等。 我 google 我发现了一些来自 github.

的无效链接

我阅读了文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/connectormisc.html#securing

但是如何设置呢?我的网站 api 需要一些路由配置吗?

如何"load" 将 Microsoft 应用程序 ID 和密码授予消息控制器?

顺便说一下,我是网络 api 和机器人框架的新手。

当您在 C# 中创建一个新的机器人时,您将获得一个带有默认路由 api/Messages 的 MessagesController。

要在同一个项目中创建第二个机器人,您可以创建一个新的控制器(例如复制 MessagesController 并重命名)。然后你会得到一个带有控制器名称的新路由,例如 SecondMessagesController => api/SecondMessages

使用 Class 定义上方的 RoutePrefix 属性,您可以更改路由名称,例如 [RoutePrefix("api/bot1messages")].

那是我本地测试没问题的。发布机器人需要以下部分,但我还没有测试过:

目前两个Bot的权限相同,因为都是使用web.config获取AppId和AppPassword。但是 BotFrameworks 需要每个机器人的个人 ID 和密码。为此,您可以直接在 BotAuthorization 属性中提供它们,例如 [BotAutorization(AppId = "MyId", AppPassword = "MyPassword")]