I want to compose a python script which sends a color-formatted message to a configured slack channel. I managed to send sentences of plain texts to slack channels but I cou
Unfortunately it is at the moment not possible to color text of a Slack message with the API. You can use different styles, e.g. bold and italic, but not colors. (See Message Formatting in Slack documentation on how to use styles.)
You can use colors for your attachments. That will however result in a vertical color bar marker for the whole attachment, but not in colored text. (See Attachment Parameters in Slack documentation on how to color your attachments.)
Here is an example on how to use colors for Slack attachments (taken from the Slack documentation):
{
"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"
}
]
}
What you can do (as an admittedly clumsy workaround until/unless Slack supports more than primitive formatting) is:
You can use ImageMagick for this.
.png
images allow for transparency, so you don't have to worry too much about background matching.
This is, of course, a terribly inefficient way to go about it, but it has the agreeable characteristic of doing what you want.