]>
Commit | Line | Data |
---|---|---|
1dd6d55d | 1 | /* Automatically generated by refactor.pl. |
2 | * | |
3 | * | |
4 | * CMDNAME: deluser | |
68f57aa4 | 5 | * CMDLEVEL: QCMD_DEV |
1dd6d55d | 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); | |
e68997e9 | 10 | * CMDHELP: Usage: deluser <username> <reason> |
85174237 | 11 | * CMDHELP: Removes the specified username from the bot. |
e68997e9 | 12 | * CMDHELP: A reason is required and will be broadcasted. |
1dd6d55d | 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; | |
dae08100 | 23 | char *reason; |
1dd6d55d | 24 | |
25 | if (!rup) | |
26 | return CMD_ERROR; | |
27 | ||
e68997e9 | 28 | if (cargc<2) { |
1dd6d55d | 29 | chanservstdmessage(sender, QM_NOTENOUGHPARAMS, "deluser"); |
30 | return CMD_ERROR; | |
31 | } | |
32 | ||
dae08100 CP |
33 | reason = cargv[1]; |
34 | if(!checkreason(sender, reason)) | |
35 | return CMD_ERROR; | |
36 | ||
1dd6d55d | 37 | if (!(target=findreguser(sender, cargv[0]))) |
38 | return CMD_ERROR; | |
39 | ||
372e4f1d | 40 | if(UHasStaffPriv(target)) { |
dae08100 CP |
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); | |
1232a729 CP |
43 | chanservsendmessage(sender, "Sorry, that user is privileged."); |
44 | return CMD_ERROR; | |
45 | } | |
46 | ||
dae08100 CP |
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); | |
1232a729 | 49 | |
1dd6d55d | 50 | cs_removeuser(target); |
51 | ||
52 | chanservstdmessage(sender, QM_DONE); | |
53 | ||
54 | return CMD_OK; | |
55 | } |