X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fopserv.c;h=83eb31080107824144522160212037d488456ea6;hb=7707f9ac01524cce3abc387d9c16fa31d7eca31f;hp=821125916c8cb4136e59dea6e14fe0468c1eeb38;hpb=e363788f1e479c17a61e1197901d9988a964e6ec;p=srvx.git diff --git a/src/opserv.c b/src/opserv.c index 8211259..83eb310 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -268,6 +268,8 @@ static const struct message_entry msgtab[] = { { "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" }, @@ -4772,6 +4774,34 @@ static MODCMD_FUNC(cmd_svsjoin) 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; @@ -5085,6 +5115,8 @@ init_opserv(const char *nick) 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);