summaryrefslogtreecommitdiffstats
path: root/bridge/slack/handlers.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2018-12-15 23:11:03 +0100
committerWim <wim@42.be>2018-12-15 23:21:31 +0100
commit859b084814f179345866d98d9c01117a204f6839 (patch)
treedeb6ad05ebc3aeefb4b8b1930dac0c1cc1f3e944 /bridge/slack/handlers.go
parent315a038e001ead142e93eb104bd71d062a0391a2 (diff)
downloadmatterbridge-msglm-859b084814f179345866d98d9c01117a204f6839.tar.gz
matterbridge-msglm-859b084814f179345866d98d9c01117a204f6839.tar.bz2
matterbridge-msglm-859b084814f179345866d98d9c01117a204f6839.zip
Add wait option for populateUsers/Channels (slack) Fixes #579 (#653)
When setting wait to true, we wait until the populating isn't in progress anymore. This is used on startup connections where we really need the initial information which could take a long time on big servers.
Diffstat (limited to 'bridge/slack/handlers.go')
-rw-r--r--bridge/slack/handlers.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/bridge/slack/handlers.go b/bridge/slack/handlers.go
index 609fff18..4270e632 100644
--- a/bridge/slack/handlers.go
+++ b/bridge/slack/handlers.go
@@ -75,7 +75,7 @@ func (b *Bslack) handleSlackClient(messages chan *config.Message) {
// When we join a channel we update the full list of users as
// well as the information for the channel that we joined as this
// should now tell that we are a member of it.
- b.populateUsers()
+ b.populateUsers(false)
b.channelsMutex.Lock()
b.channelsByID[ev.Channel.ID] = &ev.Channel
@@ -83,8 +83,8 @@ func (b *Bslack) handleSlackClient(messages chan *config.Message) {
b.channelsMutex.Unlock()
case *slack.ConnectedEvent:
b.si = ev.Info
- b.populateChannels()
- b.populateUsers()
+ b.populateChannels(true)
+ b.populateUsers(true)
case *slack.InvalidAuthEvent:
b.Log.Fatalf("Invalid Token %#v", ev)
case *slack.ConnectionErrorEvent:
@@ -196,7 +196,7 @@ func (b *Bslack) handleMessageEvent(ev *slack.MessageEvent) (*config.Message, er
func (b *Bslack) handleStatusEvent(ev *slack.MessageEvent, rmsg *config.Message) bool {
switch ev.SubType {
case sChannelJoined, sMemberJoined:
- b.populateUsers()
+ b.populateUsers(false)
// There's no further processing needed on channel events
// so we return 'true'.
return true