Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit ba7e3d7effcd76c1ebffaa28ef8adffc74ff7ef9 Author: Patrick Connolly <patrick.c.connolly@gmail.com> Date: Thu Nov 02 16:21:46 2017 +0000 Resolve slack channel to human-readable name. (slack) (#282) diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index b0b1156..c09d6f9 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -3406 +3407 @@ func (b *Bslack) handleSlackClient(mchan chan *MMMessage) {   }   m.Raw = ev   m.Text = b.replaceMention(m.Text) + m.Text = b.replaceChannel(m.Text)   // when using webhookURL we can't check if it's our webhook or not for now   if ev.BotID != "" && b.Config.WebhookURL == "" {   bot, err := b.rtm.GetBotInfo(ev.BotID) @@ -3866 +3877 @@ func (b *Bslack) handleMatterHook(mchan chan *MMMessage) {   m.Username = message.UserName   m.Text = message.Text   m.Text = b.replaceMention(m.Text) + m.Text = b.replaceChannel(m.Text)   m.Channel = message.ChannelName   if m.Username == "slackbot" {   continue @@ -4107 +41214 @@ func (b *Bslack) replaceMention(text string) string {   results := regexp.MustCompile(`<@([a-zA-z0-9]+)>`).FindAllStringSubmatch(text, -1)   for _, r := range results {   text = strings.Replace(text, "<@"+r[1]+">", "@"+b.userName(r[1]), -1) + } + return text +}   +func (b *Bslack) replaceChannel(text string) string { + results := regexp.MustCompile(`<#[a-zA-Z0-9]+\|(.+?)>`).FindAllStringSubmatch(text, -1) + for _, r := range results { + text = strings.Replace(text, r[0], "#"+r[1], -1)   }   return text  }