2017-02-15 79 views
1

我想編寫一個python腳本,它將顏色格式的消息發送到配置的鬆弛通道。我設法發送純文本的句子,以淡化頻道,但我無法弄清楚如何賦予我想要的部分句子顏色。如何爲部分Slack incoming-webhook消息着色?

我用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_send有效載荷,這樣的話「測試」顯示爲藍色和「TEST」中顯示爲紅色鬆弛的頻道?

在此先感謝。

+0

你確定你可以做到這一點? –

+0

嗯......我聽說這是可能的,但我從來不確定 – guldam

+0

那麼。我無法在閒置的網頁或桌面客戶端上找到此選項。並且在機器人API –

回答

3

不幸的是,目前無法使用API​​將Slack消息的文本着色。您可以使用不同的風格,例如大膽和斜體,但不是顏色。 (有關如何使用樣式,請參見Slack文檔中的Message Formatting)。

您可以使用顏色作爲附件。但是,這將導致整個附件的垂直彩條標記,但不會顯示在彩色文本中。 (見Attachment Parameters如何影響你對附件鬆弛文​​檔中)。

下面是關於如何使用鬆弛附件顏色(從時差資料爲準)的例子:

{ 
    "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

你能做什麼(作爲公認笨拙的解決辦法,直到/除非斯萊克支持比原始格式的更多)是:

  • 服務器
  • 來創建你的消息是一個小圖像上傳的圖片的網址使用網絡掛接鬆弛通道
  • 的消息現在顯示在通道

您可以使用ImageMagick這一點。

.png圖像允許透明度,所以您不必過多擔心背景匹配。

這當然是一種非常低效的方法,但它具有做你想做的事的特點。