]> jfr.im git - irc/quakenet/newserv.git/blob - chanserv/usercmds/deluser.c
Merge.
[irc/quakenet/newserv.git] / chanserv / usercmds / deluser.c
1 /* Automatically generated by refactor.pl.
2 *
3 *
4 * CMDNAME: deluser
5 * CMDLEVEL: QCMD_DEV
6 * CMDARGS: 2
7 * CMDDESC: Removes a user from the bot.
8 * CMDFUNC: csu_dodeluser
9 * CMDPROTO: int csu_dodeluser(void *source, int cargc, char **cargv);
10 * CMDHELP: Usage: deluser <username> <reason>
11 * CMDHELP: Removes the specified username from the bot.
12 * CMDHELP: A reason is required and will be broadcasted.
13 */
14
15 #include "../chanserv.h"
16 #include "../../lib/irc_string.h"
17 #include <stdio.h>
18 #include <string.h>
19
20 int csu_dodeluser(void *source, int cargc, char **cargv) {
21 nick *sender=source;
22 reguser *rup=getreguserfromnick(sender), *target;
23 char *reason;
24
25 if (!rup)
26 return CMD_ERROR;
27
28 if (cargc<2) {
29 chanservstdmessage(sender, QM_NOTENOUGHPARAMS, "deluser");
30 return CMD_ERROR;
31 }
32
33 reason = cargv[1];
34 if(!checkreason(sender, reason))
35 return CMD_ERROR;
36
37 if (!(target=findreguser(sender, cargv[0])))
38 return CMD_ERROR;
39
40 if(UHasStaffPriv(target)) {
41 cs_log(sender,"DELUSER FAILED username %s (reason: %s)",target->username,reason);
42 chanservwallmessage("%s (%s) just FAILED using DELUSER on %s (reason: %s)", sender->nick, rup->username, target->username, reason);
43 chanservsendmessage(sender, "Sorry, that user is privileged.");
44 return CMD_ERROR;
45 }
46
47 cs_log(sender,"DELUSER OK username %s (reason: %s)",target->username,reason);
48 chanservwallmessage("%s (%s) just used DELUSER on %s (reason: %s)", sender->nick, rup->username, target->username, reason);
49
50 cs_removeuser(target);
51
52 chanservstdmessage(sender, QM_DONE);
53
54 return CMD_OK;
55 }