{ "OSMSG_SVSNICKUSED", "$b%s$b is an already used nickname." },
{ "OSMSG_SVSNICK", "You have renamed $b%s$b to $b%s$b." },
{ "OSMSG_SVSJOIN", "$b%s$b joined $b%s$b." },
+ { "OSMSG_SVSPART", "$b%s$b parted $b%s$b." },
+ { "OSMSG_SVSKILL", "$b%s$b killed: $b%s$b." },
{ "OSMSG_SVSMODE", "You have set mode $b%s$b for $b%s$b." },
{ "OSMSG_SIMUL", "You have simuled $b%s$b: %s" },
{ "OSMSG_DEVNULL_USER" , "[%s] %s %s" },
|| user->uplink->burst
|| !user->handle_info)
return;
+ else if (IsBot(user))
+ return;
else if (user->handle_info->opserv_level)
type = "OPER";
else if (IsNetworkHelper(user))
return;
if (irc_in_addr_is_valid(user->ip))
- send_channel_notice(opserv_conf.staff_auth_channel, opserv, IDENT_FORMAT" authed to %s account %s", IDENT_DATA(user), type, user->handle_info->handle);
+ send_channel_message(opserv_conf.staff_auth_channel, opserv, IDENT_FORMAT" authed to %s account %s", IDENT_DATA(user), type, user->handle_info->handle);
else
- send_channel_notice(opserv_conf.staff_auth_channel, opserv, "%s [%s@%s] authed to %s account %s", user->nick, user->ident, user->hostname, type, user->handle_info->handle);
+ send_channel_message(opserv_conf.staff_auth_channel, opserv, "%s [%s@%s] authed to %s account %s", user->nick, user->ident, user->hostname, type, user->handle_info->handle);
}
static void
return 1;
}
+static MODCMD_FUNC(cmd_svspart)
+{
+ struct userNode *target;
+ if(!(target=GetUserH(argv[1]))) {
+ reply("OSMSG_SVSNONICK", argv[1]);
+ return 0;
+ }
+ if(!IsChannelName(argv[2]))
+ {
+ reply("MSG_NOT_CHANNEL_NAME");
+ return 0;
+ }
+ irc_svspartchan(opserv,target,argv[2]);
+ reply("OSMSG_SVSPART",target->nick,argv[2]);
+ return 1;
+}
+
+static MODCMD_FUNC(cmd_svskill)
+{
+ struct userNode *target;
+ if(!(target=GetUserH(argv[1]))) {
+ reply("OSMSG_SVSNONICK", argv[1]);
+ return 0;
+ }
+ DelUser(target, opserv, 1, argv[2]);
+ reply("OSMSG_SVSKILL",target->nick,argv[2]);
+ return 1;
+}
static MODCMD_FUNC(cmd_svsnick)
{
struct userNode *target;
{
struct userNode *target;
char *line;
- if(!(target=GetUserH(argv[1]))) {
- reply("OSMSG_SVSNONICK", argv[1]);
- return 0;
+ if(argc > 2) {
+ if(!(target=GetUserH(argv[1]))) {
+ reply("OSMSG_SVSNONICK", argv[1]);
+ return 0;
+ }
+ line = unsplit_string(argv + 2, argc - 2, NULL);
+ irc_simul(target,line);
+ reply("OSMSG_SIMUL",target->nick,line);
+ return 1;
}
- line = unsplit_string(argv + 2, argc - 2, NULL);
- irc_simul(target,line);
- reply("OSMSG_SIMUL",target->nick,line);
- return 1;
+ return 0;
}
static MODCMD_FUNC(cmd_relay)
opserv_define_func("DEVNULL SET", cmd_setdevnull, 200, 0, 2);
opserv_define_func("DEVNULL LIST", cmd_listdevnull, 200, 0, 0);
opserv_define_func("SVSJOIN", cmd_svsjoin, 800, 0, 3);
+ opserv_define_func("SVSPART", cmd_svspart, 800, 0, 3);
+ opserv_define_func("SVSKILL", cmd_svskill, 800, 0, 3);
opserv_define_func("SVSMODE", cmd_svsmode, 800, 0, 3);
opserv_define_func("SVSNICK", cmd_svsnick, 800, 0, 3);
opserv_define_func("RELAY", cmd_relay, 800, 0, 0);
- opserv_define_func("SIMUL", cmd_simul, 999, 0, 2);
+ opserv_define_func("SIMUL", cmd_simul, 999, 0, 3);
opserv_define_func("TRACE", cmd_trace, 100, 0, 3);
opserv_define_func("TRACE PRINT", NULL, 0, 0, 0);
opserv_define_func("TRACE COUNT", NULL, 0, 0, 0);