我不确定我是否完全正确地理解如何使用 webhooks,但是:
我想在不同的 channel 或不同的用户(不是一次)中发送消息,而不参与该对话。
我的问题:我只能为特定用户创建 webhook,所以我最终为每个用户/ channel 都有一个唯一的 URL?
如果我使用类似“channel”参数甚至我使用的库中的“setReceipent”方法,它不会有任何效果,只有创建 webhook 的 channel /用户才会接收消息。
我需要使用 API 访问权限还是可以使用 webhook 来满足我的需求?
最佳答案
通常 incoming webhooks 固定到配置的 channel 。因此,如果您想向用户和/或多个 channel 发送消息,您需要创建多个 webhook 或通过 API 发送消息(例如 chat.PostMessage)。
但是,还有另一种创建 webhook 的方法,它允许您通过向消息添加 channel 覆盖属性 ('channel') 将消息发送到具有相同 webhook 的每个 channel 。它是传入 webhooks 过去如何工作的,也是传统自定义集成的一部分。
要创建这样的 webhook,您需要从 Slack 应用程序目录(应用程序由 Slack 团队制作)安装一个名为“传入 webhooks”的应用程序。
句法:
POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Content-type: application/json
{
"text": "Hello, world."
"channel": "U12345678"
}
其中
U12345678
是您要向其发送直接消息的用户的 Slack ID。请注意,
channel
属性是可选的,如果省略,消息将发送到默认 channel 。请参阅 here 前的完整文档。
关于webhooks - 通过 slack webhook 向不同 channel 发送消息失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51467215/