summaryrefslogtreecommitdiffstats
path: root/bridge/slack/helpers.go
diff options
context:
space:
mode:
authorDavid Hill <dhill@mindcry.org>2018-12-15 16:57:54 -0500
committerWim <wim@42.be>2018-12-15 23:13:53 +0100
commit315a038e001ead142e93eb104bd71d062a0391a2 (patch)
treecd6729264cbb068ff65382a114da903ad9c9b2f7 /bridge/slack/helpers.go
parentb3999b6e7188262006c8c0df806a5dfe53977e8d (diff)
downloadmatterbridge-msglm-315a038e001ead142e93eb104bd71d062a0391a2.tar.gz
matterbridge-msglm-315a038e001ead142e93eb104bd71d062a0391a2.tar.bz2
matterbridge-msglm-315a038e001ead142e93eb104bd71d062a0391a2.zip
Populate user on channel join (slack) (#644)
Diffstat (limited to 'bridge/slack/helpers.go')
-rw-r--r--bridge/slack/helpers.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go
index 26a4748e..a03feb7b 100644
--- a/bridge/slack/helpers.go
+++ b/bridge/slack/helpers.go
@@ -65,6 +65,26 @@ func (b *Bslack) getChannelByID(ID string) (*slack.Channel, error) {
const minimumRefreshInterval = 10 * time.Second
+func (b *Bslack) populateUser(userID string) {
+ b.usersMutex.RLock()
+ _, exists := b.users[userID]
+ b.usersMutex.RUnlock()
+ if exists {
+ // already in cache
+ return
+ }
+
+ user, err := b.sc.GetUserInfo(userID)
+ if err != nil {
+ b.Log.Debugf("GetUserInfo failed for %v: %v", userID, err)
+ return
+ }
+
+ b.usersMutex.Lock()
+ b.users[userID] = user
+ b.usersMutex.Unlock()
+}
+
func (b *Bslack) populateUsers() {
b.refreshMutex.Lock()
if time.Now().Before(b.earliestUserRefresh) || b.refreshInProgress {