]> jfr.im git - irc/quakenet/newserv.git/blob - rannounce/rannounce.c
Initial Import
[irc/quakenet/newserv.git] / rannounce / rannounce.c
1
2 #include "../nick/nick.h"
3 #include "../localuser/localuserchannel.h"
4
5 nick *rannouncenick;
6
7 void rannouncehandler(nick *me, int type, void **args);
8
9 void _init() {
10 channel *cp;
11 rannouncenick=registerlocaluser("R","relay","quakenet.org","Relay announcer",NULL,0,rannouncehandler);
12
13 if ((cp=findchannel("#twilightzone"))) {
14 localjoinchannel(rannouncenick, cp);
15 } else {
16 localcreatechannel(rannouncenick, "#twilightzone");
17 }
18
19 if ((cp=findchannel("#qnet.queue"))) {
20 localjoinchannel(rannouncenick, cp);
21 } else {
22 localcreatechannel(rannouncenick, "#qnet.queue");
23 }
24
25 if ((cp=findchannel("#qrequest"))) {
26 localjoinchannel(rannouncenick, cp);
27 } else {
28 localcreatechannel(rannouncenick, "#qrequest");
29 }
30 }
31
32 void _fini() {
33 deregisterlocaluser(rannouncenick,NULL);
34 }
35
36 void rannouncehandler(nick *me, int type, void **args) {
37 nick *np;
38 char *text;
39 channel *cp;
40 int items;
41
42 if (type==LU_PRIVMSG) {
43 np=args[0];
44 text=args[1];
45
46 if (IsOper(np) && !ircd_strncmp(text,"announce ",9)) {
47 text+=9;
48 items=strtoul(text,NULL,10);
49
50 if (items) {
51 if ((cp=findchannel("#twilightzone"))) {
52 sendmessagetochannel(me, cp, "%d item%s in queue - https://www.quakenet.org/secure/queue/",items,items==1?"":"s");
53 }
54 if ((cp=findchannel("#qnet.queue"))) {
55 sendmessagetochannel(me, cp, "%d item%s in queue - https://www.quakenet.org/secure/queue/",items,items==1?"":"s");
56 }
57 if ((cp=findchannel("#qrequest"))) {
58 sendmessagetochannel(me, cp, "%d item%s in queue",items,items==1?"":"s");
59 }
60 }
61 }
62 } else if (type==LU_KILLED) {
63 rannouncenick=NULL;
64 }
65 }
66