我有一个在多个用户频道(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()
方法。