通过松弛Webhook将消息发送到其他频道失败

mrv*_*klm 1 webhooks slack-api slack

我不确定我是否正确地理解了如何使用webhooks,但是:我想以不同的渠道或不同的用户(而不是一次)发送消息,而无需参与该对话。

我的问题:我只能为特定用户创建webhooks,所以我最终为每个用户/频道拥有唯一的URL?如果我使用我所使用的库中的“ channel”参数或什至“ setReceipent”方法之类的东西,它不会有任何效果,只有为webhook创建的频道/用户会收到消息。

我需要使用API​​访问权限还是可以使用Webhooks满足我的需求?

Eri*_*ken 7

通常,传入的Web钩子固定到配置的通道。因此,如果要将消息发送给用户和/或多个渠道,则需要创建多个Webhook或通过API发送消息(例如chat.PostMessage)。

但是,还有另一种创建Webhook的方法,该方法允许您通过在消息中添加通道覆盖属性('channel'),将消息发送到具有相同Webhook的每个通道。它是过去传入的Webhooks如何工作以及旧式自定义集成的一部分。

要创建这样的Webhook,您需要从Slack App Directory安装一个名为“ Incoming webhooks”的应用程序(该应用程序由Slack团队制作)。

句法:

POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Content-type: application/json
{
    "text": "Hello, world."
    "channel": "U12345678"
}
Run Code Online (Sandbox Code Playgroud)

U12345678您要向其发送直接消息的用户的Slack ID 在哪里。

请注意,该channel属性是可选的,如果省略,则消息将发送到默认通道。

请参阅此处的完整文档。

  • @Erik Kalkoken,就是这样。如果默认频道是私人频道,则该webhook无法将邮件发送到其他频道。谢谢!! (5认同)