Thumbnail

rani/matterbridge.git

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

commit 3d0c65cb31617ae2956a6fa25574658958f5fa61 Author: NikkyAI <NikkyAI@users.noreply.github.com> Date: Mon Sep 17 21:25:06 2018 +0000 Fix Discord mentions by populating the nickMemberMap at connect (#498) diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index 25a6a7a..0265f84 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -896 +8921 @@ func (b *Bdiscord) Connect() error {   for _, channel := range b.Channels {   b.Log.Debugf("found channel %#v", channel)   } + // obtaining guild members and initializing nickname mapping + b.Lock() + members, err := b.c.GuildMembers(b.guildID, "", 1000) + if err != nil { + b.Log.Error("Error obtaining guild members", err) + return err + } + for _, member := range members { + b.userMemberMap[member.User.ID] = member + b.nickMemberMap[member.User.Username] = member + if member.Nick != "" { + b.nickMemberMap[member.Nick] = member + } + } + b.Unlock()   return nil  }   @@ -2987 +31310 @@ func (b *Bdiscord) memberUpdate(s *discordgo.Session, m *discordgo.GuildMemberUp   b.Log.Debugf("%s: memberupdate: user %s (nick %s) changes nick to %s", b.Account, m.Member.User.Username, b.userMemberMap[m.Member.User.ID].Nick, m.Member.Nick)   }   b.userMemberMap[m.Member.User.ID] = m.Member - b.nickMemberMap[m.Member.Nick] = m.Member + b.nickMemberMap[m.Member.User.Username] = m.Member + if m.Member.Nick != "" { + b.nickMemberMap[m.Member.Nick] = m.Member + }   b.Unlock()  }