From f665b166adbf28b9170288fb2d00b2637ae6f3e1 Mon Sep 17 00:00:00 2001 From: Chris Sexton Date: Tue, 17 May 2016 22:16:00 -0400 Subject: [PATCH] Add regexp to clean ugly Slack URLs --- slack/slack.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/slack/slack.go b/slack/slack.go index ead635f..cf453e5 100644 --- a/slack/slack.go +++ b/slack/slack.go @@ -11,6 +11,7 @@ import ( "log" "net/http" "net/url" + "regexp" "strconv" "strings" "sync/atomic" @@ -158,11 +159,16 @@ func (s *Slack) Serve() { } } +var urlDetector = regexp.MustCompile(`<(.+)://([^|^>]+).*>`) + // Convert a slackMessage to a msg.Message func (s *Slack) buildMessage(m slackMessage) msg.Message { log.Printf("DEBUG: msg: %#v", m) text := html.UnescapeString(m.Text) + // remove <> from URLs, URLs may also be + text = urlDetector.ReplaceAllString(text, "${1}://${2}") + isCmd, text := bot.IsCmd(s.config, text) isAction := strings.HasPrefix(text, "/me ")