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
的文本
我已经在 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
的文本