我使用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
(抱歉,没有足够的代表发布截图)
有没有办法拆分邮件,确保始终显示图标?如果没有,有没有办法,例如,更改邮件的背景颜色?
答案 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
变量设置为danger
,good
或十六进制颜色,会在邮件旁边提供该颜色的垂直条,这对我有用。因此,即使消息按用户分组,条形也可以区分。
答案 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"
}
]