【问题标题】:Multi Tenancy in Microsoft bot framework webchatMicrosoft bot 框架网络聊天中的多租户
【发布时间】:2017-12-07 09:13:45
【问题描述】:
我已经成功地在公共域上使用 Directline 托管了一个 microsoft 的 Botframework 网络聊天实例,我想制作一个聊天机器人,使我的客户可以将自己的频道完全分开,但我找不到任何类型的任何地方的文档,如果可能,请建议我?
我已经用 Node.js 编写了完整的代码,对 c# 的了解很少。
【问题讨论】:
标签:
node.js
botframework
direct-line-botframework
web-chat
【解决方案1】:
在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 之类的文本