|
@@ -2421,8 +2421,7 @@ func rehashHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
|
2421
|
2421
|
}
|
2422
|
2422
|
|
2423
|
2423
|
// RENAME <oldchan> <newchan> [<reason>]
|
2424
|
|
-func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) (result bool) {
|
2425
|
|
- result = false
|
|
2424
|
+func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool {
|
2426
|
2425
|
oldName, newName := msg.Params[0], msg.Params[1]
|
2427
|
2426
|
var reason string
|
2428
|
2427
|
if 2 < len(msg.Params) {
|
|
@@ -2434,6 +2433,8 @@ func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
|
2434
|
2433
|
rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.Nick(), utils.SafeErrorParam(oldName), client.t("No such channel"))
|
2435
|
2434
|
return false
|
2436
|
2435
|
}
|
|
2436
|
+ oldName = channel.Name()
|
|
2437
|
+
|
2437
|
2438
|
if !(channel.ClientIsAtLeast(client, modes.ChannelOperator) || client.HasRoleCapabs("chanreg")) {
|
2438
|
2439
|
rb.Add(nil, server.name, ERR_CHANOPRIVSNEEDED, client.Nick(), oldName, client.t("You're not a channel operator"))
|
2439
|
2440
|
return false
|
|
@@ -2441,14 +2442,14 @@ func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
|
2441
|
2442
|
|
2442
|
2443
|
founder := channel.Founder()
|
2443
|
2444
|
if founder != "" && founder != client.Account() {
|
2444
|
|
- rb.Add(nil, server.name, ERR_CANNOTRENAME, client.Nick(), oldName, newName, client.t("Only channel founders can change registered channels"))
|
|
2445
|
+ rb.Add(nil, server.name, "FAIL", "RENAME", "CANNOT_RENAME", oldName, utils.SafeErrorParam(newName), client.t("Only channel founders can change registered channels"))
|
2445
|
2446
|
return false
|
2446
|
2447
|
}
|
2447
|
2448
|
|
2448
|
2449
|
config := server.Config()
|
2449
|
2450
|
status, _ := channel.historyStatus(config)
|
2450
|
2451
|
if status == HistoryPersistent {
|
2451
|
|
- rb.Add(nil, server.name, ERR_CANNOTRENAME, client.Nick(), oldName, newName, client.t("Channels with persistent history cannot be renamed"))
|
|
2452
|
+ rb.Add(nil, server.name, "FAIL", "RENAME", "CANNOT_RENAME", oldName, utils.SafeErrorParam(newName), client.t("Channels with persistent history cannot be renamed"))
|
2452
|
2453
|
return false
|
2453
|
2454
|
}
|
2454
|
2455
|
|
|
@@ -2457,9 +2458,9 @@ func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
|
2457
|
2458
|
if err == errInvalidChannelName {
|
2458
|
2459
|
rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.Nick(), utils.SafeErrorParam(newName), client.t(err.Error()))
|
2459
|
2460
|
} else if err == errChannelNameInUse {
|
2460
|
|
- rb.Add(nil, server.name, ERR_CHANNAMEINUSE, client.Nick(), utils.SafeErrorParam(newName), client.t(err.Error()))
|
|
2461
|
+ rb.Add(nil, server.name, "FAIL", "RENAME", "CHANNEL_NAME_IN_USE", oldName, utils.SafeErrorParam(newName), client.t(err.Error()))
|
2461
|
2462
|
} else if err != nil {
|
2462
|
|
- rb.Add(nil, server.name, ERR_CANNOTRENAME, client.Nick(), oldName, utils.SafeErrorParam(newName), client.t("Cannot rename channel"))
|
|
2463
|
+ rb.Add(nil, server.name, "FAIL", "RENAME", "CANNOT_RENAME", oldName, utils.SafeErrorParam(newName), client.t("Cannot rename channel"))
|
2463
|
2464
|
}
|
2464
|
2465
|
if err != nil {
|
2465
|
2466
|
return false
|