我最近正在使用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请求所示。但是发布的消息并没有通知小组中的所有人。
注意:我希望保留我的频道通知偏好设置(仅在提及时通知)
请注意
答案 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>
。
文本键显示在通知中并且不允许格式化,而块则允许。