]> jfr.im git - irc/quakenet/newserv.git/blob - facepalm/facepalm.c
LUA: port luadb to dbapi2 to drop postgres dependency
[irc/quakenet/newserv.git] / facepalm / facepalm.c
1 #include "../control/control.h"
2 #include "../nick/nick.h"
3 #include "../channel/channel.h"
4
5 int fa_facepalm(void *source, int cargc, char **cargv) {
6 nick *sender=(nick *)source;
7 nick *victim;
8 channel *cp;
9
10 if (cargc<1) {
11 controlreply(sender,"Usage: facepalm <target>");
12 return CMD_ERROR;
13 }
14
15 if ((victim=getnickbynick(cargv[0]))!=NULL) {
16 controlreply(victim," .-'---`-.");
17 controlreply(victim,",' `.");
18 controlreply(victim,"| \\");
19 controlreply(victim,"| \\");
20 controlreply(victim,"\\ _ \\");
21 controlreply(victim,",\\ _ ,'-,/-)\\");
22 controlreply(victim,"( * \\ \\,' ,' ,'-)");
23 controlreply(victim," `._,) -',-')");
24 controlreply(victim," \\/ ''/");
25 controlreply(victim," ) / /");
26 controlreply(victim," / ,'-'");
27 controlreply(sender,"Gave %s a facepalm.",victim->nick);
28 } else if ((cp=findchannel(cargv[0]))!=NULL) {
29 controlchanmsg(cp," .-'---`-.");
30 controlchanmsg(cp,",' `.");
31 controlchanmsg(cp,"| \\");
32 controlchanmsg(cp,"| \\");
33 controlchanmsg(cp,"\\ _ \\");
34 controlchanmsg(cp,",\\ _ ,'-,/-)\\");
35 controlchanmsg(cp,"( * \\ \\,' ,' ,'-)");
36 controlchanmsg(cp," `._,) -',-')");
37 controlchanmsg(cp," \\/ ''/");
38 controlchanmsg(cp," ) / /");
39 controlchanmsg(cp," / ,'-'");
40 controlreply(sender,"Spammed facepalm in %s.",cp->index->name->content);
41 } else {
42 controlreply(sender,"Can't find %s.",cargv[0]);
43 }
44
45 return CMD_OK;
46 }
47
48 void _init() {
49 registercontrolhelpcmd("facepalm",NO_OPERED,2,fa_facepalm,"Usage: facepalm <target>\nSpams a facepalm at target.");
50 }
51
52 void _fini() {
53 deregistercontrolcmd("facepalm",fa_facepalm);
54 }