【问题标题】:How to split Slack messages from same user?如何拆分来自同一用户的 Slack 消息?
【发布时间】:2015-04-21 09:21:59
【问题描述】:

我正在使用Slack API 发布具有各种状态的自动消息。为了标记状态,我使用表情符号图标。发送工作正常,并且设置了正确的图标(我在响应中看到),但是后续帖子在频道中一起运行,所以即使图标不同,它也不会显示,直到有来自另一个的消息介于两者之间的用户:

[red icon]    BOT_USER   msg #1 some info - status critical
                         msg #2 some info - status ok (should have green icon!)
                         msg #3 some info - status critical
[user icon]   SOME_USER  some message
[green icon]  BOT_USER   msg #4 some info - status ok

(抱歉,没有足够的代表来发布截图)

有没有办法拆分消息,确保始终显示图标?如果没有,有没有办法例如更改消息的背景颜色?

【问题讨论】:

    标签: slack-api


    【解决方案1】:

    我找到了使用attachments 标记它的方法。我的脚本看起来像这样(引用让我有些头疼):

    ATTACHMENTS="[{\"fallback\":\"$INPUT\",\"text\":\"$INPUT\",\"color\":\"$COLOR\"}]"
    curl -sS -X POST \
        --data "token=$TOKEN&channel=$CHANNEL_ID&username=$FROM&attachments=$ATTACHMENTS" \
        https://slack.com/api/chat.postMessage
    

    $COLOR 变量设置为dangergood 或十六进制颜色,会在消息旁边提供该颜色的垂直条,这对我有用。因此,即使消息是按用户分组的,这些条形也会提供区别。

    【讨论】:

      【解决方案2】:

      来自同一用户的消息分组是 Slack 的标准行为,无法更改。因此,不要使用用户的图标和名称作为指标,而是寻找其他方法是有意义的。

      附件中的颜色是另一种方法。另一种是在附件中使用缩略图(而不是用户图标)。

      【讨论】:

        【解决方案3】:

        除了文本,你可以使用块和块类型分隔符可以在消息之前和之后使用。

        "blocks": [
            {
                "type": "divider"
            },
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "This is unquoted text\n>This is quoted text\n>This is still quoted text\nThis is unquoted text again"
                }
            },
            {
                "type": "divider"
            }
        ]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-09-20
          • 2018-10-04
          • 1970-01-01
          • 2021-07-01
          • 2021-08-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多