diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index d247b951..e81d0783 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -125,12 +125,13 @@ 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 } }