我的用户名是" charlie ",我是一个Slack环境的管理员。
我创建传入webhook的步骤如下:https://api.slack.com/messaging/webhooks我创建了一个机器人叫做Bot"带着所有的"书写"范围。
然后,我添加了一个Webhook URL,以便能够直接向用户名"彼得"发送消息。
当我使用典型的curl方法发送测试时:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxx
Peter收到Bot的消息…没关系!!
但是我在我和Peter的私信中也看到了这个通知。
也就是说,就像Bot以我的身份写信给Peter…在我和Peter的私人频道
我想要的是不要直接给Peter写信,而不是通过我的私人频道。
谢谢!
不幸的是,传入的webhooks将无法代表bot向用户发布DM。这种类型的功能需要额外的权限,因此只能通过一个bot令牌使用Slack WebAPI方法来完成。
要使用Slack API应用程序向用户发布DM,您必须:
- 添加一个bot用户到你的应用程序。在你安装应用程序后,bot令牌将出现在你的OAuth和权限页面。
- 呼叫聊天对象。postMessage api方法,并传递要发送到的频道/对话的id。https://api.slack.com/methods/chat.postMessage
- 要获得工作区中包括dm在内的所有通道和对话的列表,请呼叫对话。列表https://api.slack.com/methods/conversations.list
- 与用户建立DM,可以呼叫对话。打开https://api.slack.com/methods/conversations.open