From 0466d0fde9fb0bc9452fca531e96490ae274eb55 Mon Sep 17 00:00:00 2001 From: JoramWilander Date: Thu, 3 Dec 2015 14:56:10 -0500 Subject: Convert links in Slack attachment text to Markdown format --- api/post.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'api/post.go') diff --git a/api/post.go b/api/post.go index 81cc9a1c6..6785a8c44 100644 --- a/api/post.go +++ b/api/post.go @@ -177,7 +177,22 @@ func CreateWebhookPost(c *Context, channelId, text, overrideUsername, overrideIc if len(props) > 0 { for key, val := range props { - if key != "override_icon_url" && key != "override_username" && key != "from_webhook" { + if key == "attachments" { + if list, success := val.([]interface{}); success { + // parse attachment links into Markdown format + for i, aInt := range list { + attachment := aInt.(map[string]interface{}) + if _, ok := attachment["text"]; ok { + aText := attachment["text"].(string) + aText = linkWithTextRegex.ReplaceAllString(aText, "[${2}](${1})") + aText = linkRegex.ReplaceAllString(aText, "${1}") + attachment["text"] = aText + list[i] = attachment + } + } + post.AddProp(key, list) + } + } else if key != "override_icon_url" && key != "override_username" && key != "from_webhook" { post.AddProp(key, val) } } -- cgit v1.2.3-1-g7c22