如何从同一用户分割Slack消息?

时间:2015-04-21 09:22:00

标签: slack-api

我使用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

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

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

3 个答案:

答案 0 :(得分:3)

我找到了使用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或十六进制颜色,会在邮件旁边提供该颜色的垂直条,这对我有用。因此,即使消息按用户分组,条形也可以区分。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

"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"
    }
]