struct userData *target_user;
struct chanNode *target;
char reason[MAXLEN];
+ int nodelete = 0;
REQUIRE_PARAMS(2);
return 0;
}
+ if (argc > 2) {
+ if (!irccasecmp("nodelete", argv[2]))
+ nodelete = 1;
+ }
+
if(!target->channel_info)
{
reply("CSMSG_NOT_REGISTERED", target->name);
merge_channel(channel->channel_info, target->channel_info);
spamserv_cs_move_merge(user, channel, target, 0);
sprintf(reason, "merged into %s by %s.", target->name, user->handle_info->handle);
- unregister_channel(channel->channel_info, reason);
+ if (!nodelete)
+ unregister_channel(channel->channel_info, reason);
reply("CSMSG_MERGE_SUCCESS", target->name);
return 1;
}
reg_svccmd_unbind_func(handle_svccmd_unbind);
chanserv_module = module_register("ChanServ", CS_LOG, "chanserv.help", chanserv_expand_variable);
- DEFINE_COMMAND(register, 1, MODCMD_REQUIRE_AUTHED, "flags", "+acceptchan,+helping", NULL);
+ DEFINE_COMMAND(register, 1, MODCMD_REQUIRE_AUTHED, "flags", "+acceptchan,+channel", NULL);
DEFINE_COMMAND(noregister, 1, MODCMD_REQUIRE_AUTHED, "flags", "+helping", NULL);
DEFINE_COMMAND(allowregister, 2, 0, "template", "noregister", NULL);
DEFINE_COMMAND(move, 1, MODCMD_REQUIRE_AUTHED|MODCMD_REQUIRE_REGCHAN, "template", "register", NULL);