Thumbnail

rani/matterbridge.git

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

commit 0f2e1a3368c0fc8c8fcf8184a79b034b7bf62b5a Author: Wim <wim@42.be> Date: Fri Feb 03 16:40:15 2017 +0000 Fix receiving messages from private channels (slack). See #118 diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index 6432ecc..763231d 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -1476 +14718 @@ func (b *Bslack) getChannelByName(name string) (*slack.Channel, error) {   return nil, fmt.Errorf("%s: channel %s not found", b.Account, name)  }   +func (b *Bslack) getChannelByID(ID string) (*slack.Channel, error) { + if b.channels == nil { + return nil, fmt.Errorf("%s: channel %s not found (no channels found)", b.Account, ID) + } + for _, channel := range b.channels { + if channel.ID == ID { + return &channel, nil + } + } + return nil, fmt.Errorf("%s: channel %s not found", b.Account, ID) +} +  func (b *Bslack) handleSlack() {   flog.Debugf("Choosing API based slack connection: %t", b.Config.UseAPI)   mchan := make(chan *MMMessage) @@ -1788 +1908 @@ func (b *Bslack) handleSlackClient(mchan chan *MMMessage) {   // ignore first message   if count > 0 {   flog.Debugf("Receiving from slackclient %#v", ev) - //ev.ReplyTo - channel, err := b.rtm.GetChannelInfo(ev.Channel) + // use our own func because rtm.GetChannelInfo doesn't work for private channels + channel, err := b.getChannelByID(ev.Channel)   if err != nil {   continue   }