diff options
-rw-r--r-- | bridge/slack/slack.go | 9 |
1 files changed, 9 insertions, 0 deletions
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 +} |