diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go index ed9e627b..bef69ac1 100644 --- a/bridge/slack/slack.go +++ b/bridge/slack/slack.go @@ -349,7 +349,15 @@ func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Ch if strings.HasSuffix(channelInfo.Purpose.Value, "[nosync]") { break } - _, err = b.rtm.SetPurposeOfConversation(channelInfo.ID, text) + for { + _, err = b.rtm.SetTopicOfConversation(channelInfo.ID, text) + if err == nil { + return true, nil + } + if err = b.handleRateLimit(err); err != nil { + return true, err + } + } } if err != nil {