2016-02-29 57 views
2

我寫了一個自定義的Slash命令,它接受來自用戶的查詢並返回圖像。Slack Slash命令 - 圖像不打開

接收到Slash命令的服務器端檢索來自用戶的查詢,並形成圖像URL http://example.com/file1.png,它發回的響應爲<http://example.com/file1.png>。這被顯示爲響應中的鏈接,並且不展開。可能是什麼問題呢?

我甚至試過如下: 1)我發回一個JSON有效載荷,如下所示:

{ 
    "text":"http://example.com/file1.gif","unfurl_media":true 
} 

但是,這再次顯示的鏈接,並沒有打出它。

2)我試圖

{ 
    "text":"<http://example.com/file1.gif>","unfurl_media":true 
} 

但相同的結果。

可能是什麼問題?我是否絕對需要傳入webhook集成並在那裏發送消息?

+0

請勿將其作爲Json有效負載發送。丹的回答爲我工作。 –

回答

1

我有一個類似的問題,斜線命令返回我的圖片url的文本。

你需要改變的是爲圖像使用一個image_url的對象,並把它放在一個attachments數組中。

下面是一個例子,它返回圖像作爲文本和圖像本身的鏈接。

 { 
      "parse": "full", 
      "response_type": "in_channel", 
      "text": "http://example.com/file1.png", 
      "attachments":[ 
       { 
        "image_url": "http://example.com/file1.png" 
       } 
      ], 
      "unfurl_media":true, 
      "unfurl_links":true 
     } 
+0

以上回應沒有jsonifying爲我工作,雖然照片被加載兩次。所以我刪除了附件。 –

2

它是第一次運行,還是以前網址已經展開?

Slack只會在指定頻道每小時自動展開一次網址。如果用戶手動發佈URL並且由於此限制而未展開,則它們將從SlackBot收到一條關於它的短暫消息,但展開消息只是以斜槓命令或webhook的方式靜靜地失敗。我之前在測試中遇到過這種情況,必須確保更改網址或頻道以確認事情正在進行。

您不應該在響應中使用手動附件或webhook甚至unfurl_media標誌(默認情況下,它是通過webhooks/slash命令發佈的消息)。