我已经成功地在公共域上使用 Directline 托管了一个微软的 Botframework 网络聊天实例,我想以这样一种方式制作一个聊天机器人,使我的客户可以拥有自己的频道彼此完全分开,而且我在任何地方都找不到任何类型的文档,请建议我,如果这是可能的,如何?
我已经在 Node.js 中编写了完整的代码,并且对 c# 的了解非常少。
我已经成功地在公共域上使用 Directline 托管了一个微软的 Botframework 网络聊天实例,我想以这样一种方式制作一个聊天机器人,使我的客户可以拥有自己的频道彼此完全分开,而且我在任何地方都找不到任何类型的文档,请建议我,如果这是可能的,如何?
我已经在 Node.js 中编写了完整的代码,并且对 c# 的了解非常少。
bot框架中似乎没有统一自定义聊天频道的功能。因此,我们可以利用https://github.com/Microsoft/BotBuilder-Samples/blob/master/Node/core-proactiveMessages/simpleSendMessage/index.jsnew builder.Message().address(address)
上的官方示例向特定用户发送消息。
所以我做了一个快速测试,它将用户的地址保存到服务器内存中的地址列表中"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: .*/
})
测试步骤: