我最近正在使用Slack,我的动机是在特定的时间通过调用由Slack传入的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>,,如上面的curl请求所示。但是发布的消息并没有通知组中的所有成员。
注意:我希望保留我的频道通知首选项(只在提到时通知)。
备注
发布于 2017-05-13 02:03:37
发送@信道消息的正确语法是<!channel>
。
因此,您的示例中正确的curl命令应该是:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hey, Its time for meeting!! <!channel>", "link_names" : 1}' HOOK_URL
也请参阅这里在正式文档中的参考资料。您也可以在消息生成器中尝试这一点。
注意,为了覆盖webhook的默认通道,还需要添加带有通道名称的附加属性channel
。然而,这只适用于通过自定义集成创建的webhooks,而不适用于Slack应用程序创建的webhooks。
有关如何覆盖通道名称的示例,请参见这里。
发布于 2021-06-30 20:16:13
如果您使用的是块,那么其他任何人都需要在块内容中使用<!channel>
,而不是在文本内容中使用。
文本键显示在通知中,不允许格式化,而块则允许格式化。
发布于 2021-08-16 15:15:59
chat.scheduleMessage
方法(https://api.slack.com/methods/chat.scheduleMessage)将完成同样的任务。
https://stackoverflow.com/questions/43951118
复制相似问题