如何在多个用户频道(Botframework)中启动私人对话



我有一个在多个用户频道(Slack)中运行的机器人。机器人在通道中的触发器上反应。在与用户的私人对话中,我该如何响应拨打机器人的用户?

如果您只是在寻找一种仅响应用户响应bot的用户的方法,那么您可以尝试使用Slack的短暂消息类型,如下所示。

来自文档:

默认情况下,发送给命令的响应消息只会是 向发出命令的用户可见(我们称这些"短暂" 消息)。...设置响应type对短暂的type与 根本不包括响应类型,响应消息将 仅对发出命令的用户可见。

基本上,在组频道中,短暂消息仅发送给用户发出命令,而不是向组广播。

在机器人的代码中,您只需要使用C#Bot Builder的自定义频道消息功能即可更改传出消息的channelData字段。

例如:

{
    "type": "message",
    "locale": "en-Us",
    "channelId":"slack",
    "conversation": { "id":"123123123123", "topic":"awesome chat" },
    "from": { "id":"12345", "name":"My Bot"},
    "recipient": { "id":"67890", "name":"Joe Doe"},
    "channelData": {
        "response_type": "ephemeral",
        "text": "This is some message.",
        "attachments": [
            {
                ...
            }
        ]
    }
}

channelData遵循松弛消息格式指南。

如果您正在寻找与用户进行全新的1:1对话的能力,请查看开始对话的文档和CreateDirectConversation()方法。

最新更新