我最近正在使用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< #G5CERWGRG | hep_test>,如上面的卷曲请求所示.但是发布的消息并没有通知集团内的所有人.
注意
解决方法
发送@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的默认频道,您还需要添加带有频道名称的附加属性频道.然而,这只适用于通过自定义集成创建的webhook,而不适用于Slack应用程序创建的webhook.