Thumbnail

rani/matterbridge.git

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

commit d68c538a001428764f99b5f46e0b21ece37a6a8c Author: Wim <wim@42.be> Date: Fri Jun 14 00:42:55 2019 +0000 Fix regression in autojoining with legacy tokens (slack). Fixes #651 (#848) diff --git a/bridge/slack/legacy.go b/bridge/slack/legacy.go index 0c9f5ba..5c2eca2 100644 --- a/bridge/slack/legacy.go +++ b/bridge/slack/legacy.go @@ -137 +139 @@ type BLegacy struct {  }    func NewLegacy(cfg *bridge.Config) bridge.Bridger { - return &BLegacy{Bslack: newBridge(cfg)} + b := &BLegacy{Bslack: newBridge(cfg)} + b.legacy = true + return b  }    func (b *BLegacy) Connect() error { diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index 36b74b9..2aaa2cb 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -326 +327 @@ type Bslack struct {     channels *channels   users *users + legacy bool  }    const ( @@ -1516 +15218 @@ func (b *Bslack) JoinChannel(channel config.ChannelInfo) error {   return nil   }   + // try to join a channel when in legacy + if b.legacy { + _, err := b.sc.JoinChannel(channel.Name) + if err != nil { + switch err.Error() { + case "name_taken", "restricted_action": + case "default": + return err + } + } + } +   b.channels.populateChannels(false)     channelInfo, err := b.channels.getChannel(channel.Name) @@ -1637 +1768 @@ func (b *Bslack) JoinChannel(channel config.ChannelInfo) error {   channel.Name = channelInfo.Name   }   - if !channelInfo.IsMember { + // we can't join a channel unless we are using legacy tokens #651 + if !channelInfo.IsMember && !b.legacy {   return fmt.Errorf("slack integration that matterbridge is using is not member of channel '%s', please add it manually", channelInfo.Name)   }   return nil