【问题标题】:Slack Incoming Web Hooks - Send message @channelSlack Incoming Web Hooks - 发送消息@channel
【发布时间】:2017-10-12 13:31:50
【问题描述】:

我最近正在使用 Slack API,我的动机是通过调用 Slack Incoming Web hooks 提供的 web hooks 在特定时间发送通道范围的消息。

我创建了一个网络钩子,并从 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 链接。

我什至尝试发送 slack channel id ,如上面的 curl 请求所示。但是发布的消息并没有通知群组中的所有人。

注意:我想保持我的频道通知偏好不变(仅在提及时通知)

注意

【问题讨论】:

    标签: slack-api


    【解决方案1】:

    chat.scheduleMessage 方法 (https://api.slack.com/methods/chat.scheduleMessage) 将完成同样的事情。

    【讨论】:

      【解决方案2】:

      对于其他努力实现此功能的人,如果您使用块,看起来您需要在块内容中包含 &lt;!channel&gt;,而不是在文本内容中。

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

      【讨论】:

        【解决方案3】:

        发送@channel 消息的正确语法是&lt;!channel&gt;

        因此,您示例的正确 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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-01-23
          • 1970-01-01
          • 1970-01-01
          • 2022-01-12
          • 2020-11-25
          • 2017-04-28
          • 1970-01-01
          相关资源
          最近更新 更多