|
@@ -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
|
}
|