Thumbnail

rani/matterbridge.git

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

commit bcfb4b4303d486a3a3aede32d0b3a245b14cdbed Author: Qais Patankar <qaisjp@gmail.com> Date: Sat Feb 08 14:13:23 2020 +0000 Check only bridged channels for PermManageWebhooks (discord) (#1001) * Check only bridged channels for PermManageWebhooks * add note diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index d247b95..e81d078 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -12512 +12513 @@ func (b *Bdiscord) Connect() error {   }   } else {   b.canEditWebhooks = true - for _, channel := range b.channels { - b.Log.Debugf("found channel %#v; verifying PermissionManageWebhooks", channel) - perms, permsErr := b.c.State.UserChannelPermissions(userinfo.ID, channel.ID) + for _, info := range b.Channels { + id := b.getChannelID(info.Name) // note(qaisjp): this readlocks channelsMutex + b.Log.Debugf("Verifying PermissionManageWebhooks for %s with ID %s", info.ID, id) + perms, permsErr := b.c.State.UserChannelPermissions(userinfo.ID, id)   manageWebhooks := discordgo.PermissionManageWebhooks   if permsErr != nil || perms&manageWebhooks != manageWebhooks { - b.Log.Warnf("Can't manage webhooks in channel \"%s\"", channel.Name) + b.Log.Warnf("Can't manage webhooks in channel \"%s\"", info.Name)   b.canEditWebhooks = false   }   }