Quellcode durchsuchen

make channel founder unkickable

tags/v2.4.0-rc1
Shivaram Lingamneni vor 3 Jahren
Ursprung
Commit
32bb10f6c6
1 geänderte Dateien mit 6 neuen und 3 gelöschten Zeilen
  1. 6
    3
      irc/channel.go

+ 6
- 3
irc/channel.go Datei anzeigen

553
 	targetModes := channel.members[target]
553
 	targetModes := channel.members[target]
554
 	channel.stateMutex.RUnlock()
554
 	channel.stateMutex.RUnlock()
555
 
555
 
556
-	if founder != "" && founder == client.Account() {
557
-		// #950: founder can kick or whatever without actually having the +q mode
558
-		return true
556
+	if founder != "" {
557
+		if founder == client.Account() {
558
+			return true // #950: founder can take any privileged action without actually having +q
559
+		} else if founder == target.Account() {
560
+			return false // conversely, only the founder can kick the founder
561
+		}
559
 	}
562
 	}
560
 
563
 
561
 	return channelUserModeHasPrivsOver(clientModes.HighestChannelUserMode(), targetModes.HighestChannelUserMode())
564
 	return channelUserModeHasPrivsOver(clientModes.HighestChannelUserMode(), targetModes.HighestChannelUserMode())

Laden…
Abbrechen
Speichern