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

时间:2017-12-03 15:25:52

标签: node.js botframework direct-line-botframework web-chat

我已经使用公共领域的直接线成功托管了微软Botframework网络聊天的实例,我想以这样的方式制作聊天机器人,以便我的客户可以将自己的渠道彼此完全分开,我找不到任何类型的任何地方的文件,请建议我,如果这是可能的,如何?

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

1 个答案:

答案 0 :(得分:0)

似乎在bot框架中没有统一定制聊天频道的功能。因此,我们可以利用new builder.Message().address(address)https://github.com/Microsoft/BotBuilder-Samples/blob/master/Node/core-proactiveMessages/simpleSendMessage/index.js的官方样本向特定用户发送消息。

所以我做了一个快速测试,可以节省用户和#39;以"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"

测试步骤:

  • 打开两个模拟器连接到本地bot
  • 在两个模拟器中,键入broadcast: hi there
  • 在任一模拟器中
  • ,输入itemClick (item,index) { const value=false; this.props.listItemClick({props:'status',value}); } export default (state = INITIAL_STATE, action) => { switch (action.type) { case LIST_CLICK: console.log(action.payload.props); return {...state,[action.payload.props]: action.payload.value}; default: return state; } }; 之类的文字 enter image description here