如何使用Slack传入Webhooks向直接用户发送消息(从bot,而不是通过应用程序创建者私有通道到该用户)?<



我的用户名是" 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,您必须:

  1. 添加一个bot用户到你的应用程序。在你安装应用程序后,bot令牌将出现在你的OAuth和权限页面。
  2. 呼叫聊天对象。postMessage api方法,并传递要发送到的频道/对话的id。https://api.slack.com/methods/chat.postMessage
  3. 要获得工作区中包括dm在内的所有通道和对话的列表,请呼叫对话。列表https://api.slack.com/methods/conversations.list
  4. 与用户建立DM,可以呼叫对话。打开https://api.slack.com/methods/conversations.open

最新更新