Slack Incoming Web Hooks - 发送消息@channel

时间:2017-05-13 08:48:21

标签: slack-api

我最近正在使用Slack API,我的动机是通过调用Slack Incoming Web钩子提供的Web钩子在特定时间发送一个频道宽的消息。

我创建了一个Web钩子并从Slack获取代码,如下所示

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hey, Its time for meeting!! <#G5CERWGRG|hep_test>", "link_names" : 1}' HOOK_URL

但我无法通过在消息中发送@channel来通知团队中的所有人,就像我们在正常的闲聊频道聊天中一样。如果我在curl消息中发送@channel,它会在聊天中显示为短信,而不是@channel链接。

我甚至尝试发送松弛频道ID &lt; #G5CERWGRG | hep_test&gt; ,如上面的curl请求所示。但是发布的消息并没有通知小组中的所有人。

注意:我希望保留我的频道通知偏好设置(仅在提及时通知)

请注意

2 个答案:

答案 0 :(得分:24)

发送@channel消息的正确语法是<!channel>

因此,您的示例的正确curl命令应为:

curl -X POST -H 'Content-type: application/json' --data '{"text":"Hey, Its time for meeting!! <!channel>", "link_names" : 1}' HOOK_URL

另见here以供官方文档参考。您也可以在message builder

中试用

请注意,为了覆盖您的webhook的默认频道,您还需要添加带有频道名称的附加属性channel。但这只适用于通过自定义集成创建的webhook,而不适用于Slack应用程序创建的webhook。

有关如何覆盖频道名称的示例,请参阅here

答案 1 :(得分:0)

对于其他努力使其工作的人,如果您使用块,则看起来您需要在块内容中而不是在文本内容中使用 <!channel>

文本键显示在通知中并且不允许格式化,而块则允许。