From c738a754a2a68ac856579126c7b9eac00f70f67a Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Sun, 10 May 2020 23:17:09 -0400 Subject: [PATCH] treat channel founder as such even if they don't have +q This affects /TOPIC, /INVITE, and a few others. --- irc/channel.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/irc/channel.go b/irc/channel.go index c18eddc7..b0bb276b 100644 --- a/irc/channel.go +++ b/irc/channel.go @@ -515,8 +515,13 @@ func channelUserModeHasPrivsOver(clientMode modes.Mode, targetMode modes.Mode) b func (channel *Channel) ClientIsAtLeast(client *Client, permission modes.Mode) bool { channel.stateMutex.RLock() clientModes := channel.members[client] + founder := channel.registeredFounder channel.stateMutex.RUnlock() + if founder != "" && founder == client.Account() { + return true + } + for _, mode := range modes.ChannelUserModes { if clientModes.HasMode(mode) { return true