Microsoft bot 框架网络聊天中的多租户

Multi Tenancy in Microsoft bot framework webchat

我已经在 public 域上使用直连成功地托管了一个微软的 Botframework 网络聊天实例,我想制作一个聊天机器人,这样我的客户就可以拥有自己的频道,彼此完全分开,并且我在任何地方都找不到任何类型的文档,请告诉我这是否可行以及如何实现?

我已经在Node.js中编写了完整的代码,对c#的了解很少。

bot框架好像没有统一定制聊天频道的功能。因此我们可以利用 new builder.Message().address(address)https://github.com/Microsoft/BotBuilder-Samples/blob/master/Node/core-proactiveMessages/simpleSendMessage/index.js.

的官方示例中的特定用户发送消息

所以我有一个快速测试,将用户的地址作为"customize channel"保存到服务器内存中的地址列表中,并触发一个关键工作将消息发送到列表中的这些地址作为广播这个 "customize channel":

let channel_address = [];
bot.dialog('joinChannel',(session)=>{
    channel_address.push(session.message.address);
}).triggerAction({
    matches:/join/i
})

bot.dialog('broadcast',(session)=>{
    channel_address.forEach((address)=>{
        bot.send(
            new builder.Message(session).address(address).text(session.message.text)
        )
    })
}).triggerAction({
    matches:/^broadcast: .*/
})

测试步骤:

  • 打开两个模拟器连接到您的本地机器人
  • 在两个模拟器中,键入 "join"
  • 在任一模拟器中,输入类似 broadcast: hi there 的文本