首页 文章

如何为Slack incoming-webhook消息添加部分颜色?

提问于
浏览
2

我想编写一个python脚本,它将颜色格式的消息发送到配置的松弛通道 . 我设法将普通文本的句子发送到松散的通道,但我无法弄清楚如何赋予我想要的部分句子颜色 .

我在python中使用了slackweb库,如下所示

import slackweb
slack = slackweb.Slack(url = url_of_the_configured_channel)
string_to_send = "test TEST"
payload = {'text' : string_to_send}
slack.notify(text=string_to_send)

我怎么能,比如格式化 string_to_sendpayload ,这样单词'test'显示为蓝色,'TEST'在松弛通道中显示为红色?

提前致谢 .

2 回答

  • 4

    不幸的是,目前无法使用API为Slack消息的文本着色 . 您可以使用不同的样式,例如粗体和斜体,但不是颜色 . (请参阅Slack文档中有关如何使用样式的Message Formatting . )

    您可以为附件使用颜色 . 然而,这将导致整个附件的垂直彩条标记,但不会产生彩色文本 . (请参阅Slack文档中的Attachment Parameters,了解如何为附件上色 . )

    这是一个关于如何使用Slack附件颜色的示例(取自Slack文档):

    {
        "attachments": [
            {
                "fallback": "New ticket from Andrea Lee - Ticket #1943: Can't rest my password - https://groove.hq/path/to/ticket/1943",
                "pretext": "New ticket from Andrea Lee",
                "title": "Ticket #1943: Can't reset my password",
                "title_link": "https://groove.hq/path/to/ticket/1943",
                "text": "Help! I tried to reset my password but nothing happened!",
                "color": "#7CD197"
            }
        ]
    }
    
  • 1

    您可以做什么(作为一个公认的笨拙的解决方法,除非Slack支持的不仅仅是原始格式化):

    • 在服务器上将消息创建为小图形图像

    • 使用webhook将图像的Web地址上传到松弛通道

    • 消息现在显示在 Channels 中

    您可以使用ImageMagick .

    .png 图像允许透明,因此您不必过于担心背景匹配 .

    当然,这是一种非常低效的方法,但它具有做你想做的事情的令人愉快的特点 .

相关问题