From c268e90f492527a6d5bf9cefc9a67c67b3d8c41c Mon Sep 17 00:00:00 2001
From: Wim <wim@42.be>
Date: Mon, 26 Jun 2017 22:16:19 +0200
Subject: [PATCH] Remove label from URLs (slack). Closes #205

If slack detects a text contains an url it changes it to <http://url|url>.
Strip the |url so that http://url remains.
---
 bridge/slack/slack.go | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go
index fd4b9e1a..ad6a2b60 100644
--- a/bridge/slack/slack.go
+++ b/bridge/slack/slack.go
@@ -185,6 +185,7 @@ func (b *Bslack) handleSlack() {
 		}
 		texts := strings.Split(message.Text, "\n")
 		for _, text := range texts {
+			text = b.replaceURL(text)
 			flog.Debugf("Sending message from %s on %s to gateway", message.Username, b.Account)
 			b.Remote <- config.Message{Text: text, Username: message.Username, Channel: message.Channel, Account: b.Account, Avatar: b.getAvatar(message.Username), UserID: message.UserID}
 		}
@@ -279,3 +280,11 @@ func (b *Bslack) replaceMention(text string) string {
 	}
 	return text
 }
+
+func (b *Bslack) replaceURL(text string) string {
+	results := regexp.MustCompile(`<(.*?)\|.*?>`).FindAllStringSubmatch(text, -1)
+	for _, r := range results {
+		text = strings.Replace(text, r[0], r[1], -1)
+	}
+	return text
+}