|
@@ -541,10 +541,16 @@ func (channel *Channel) ClientPrefixes(client *Client, isMultiPrefix bool) strin
|
541
|
541
|
|
542
|
542
|
func (channel *Channel) ClientHasPrivsOver(client *Client, target *Client) bool {
|
543
|
543
|
channel.stateMutex.RLock()
|
|
544
|
+ founder := channel.registeredFounder
|
544
|
545
|
clientModes := channel.members[client]
|
545
|
546
|
targetModes := channel.members[target]
|
546
|
547
|
channel.stateMutex.RUnlock()
|
547
|
548
|
|
|
549
|
+ if founder != "" && founder == client.Account() {
|
|
550
|
+ // #950: founder can kick or whatever without actually having the +q mode
|
|
551
|
+ return true
|
|
552
|
+ }
|
|
553
|
+
|
548
|
554
|
return channelUserModeHasPrivsOver(clientModes.HighestChannelUserMode(), targetModes.HighestChannelUserMode())
|
549
|
555
|
}
|
550
|
556
|
|