Selaa lähdekoodia

fix #1860

CS AMODE changes should take immediate effect even if the nick
does not match the account.
tags/v2.9.0-rc1
Shivaram Lingamneni 2 vuotta sitten
vanhempi
commit
9d9ee11224
1 muutettua tiedostoa jossa 6 lisäystä ja 2 poistoa
  1. 6
    2
      irc/chanserv.go

+ 6
- 2
irc/chanserv.go Näytä tiedosto

@@ -270,9 +270,13 @@ func csAmodeHandler(service *ircService, server *Server, client *Client, command
270 270
 			// #729: apply change to current membership
271 271
 			for _, member := range channel.Members() {
272 272
 				if member.Account() == change.Arg {
273
-					applied, change := channel.applyModeToMember(client, change, rb)
273
+					// applyModeToMember takes the nickname, not the account name,
274
+					// so translate:
275
+					modeChange := change
276
+					modeChange.Arg = member.Nick()
277
+					applied, modeChange := channel.applyModeToMember(client, modeChange, rb)
274 278
 					if applied {
275
-						announceCmodeChanges(channel, modes.ModeChanges{change}, server.name, "*", "", false, rb)
279
+						announceCmodeChanges(channel, modes.ModeChanges{modeChange}, server.name, "*", "", false, rb)
276 280
 					}
277 281
 				}
278 282
 			}

Loading…
Peruuta
Tallenna