0

我已经成功地在公共域上使用 Directline 托管了一个微软的 Botframework 网络聊天实例,我想以这样一种方式制作一个聊天机器人,使我的客户可以拥有自己的频道彼此完全分开,而且我在任何地方都找不到任何类型的文档,请建议我,如果这是可能的,如何?

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

4

1 回答 1

1

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: .*/
})

测试步骤:

  • 打开两个模拟器连接到您的本地机器人
  • 在两个模拟器中,输入"join"
  • 在任一模拟器中,键入文本,如broadcast: hi there 在此处输入图像描述
于 2017-12-05T10:08:45.360 回答