]> jfr.im git - irc/quakenet/newserv.git/blob - settime/settime.c
allow forcing of settime commands (for devs only)
[irc/quakenet/newserv.git] / settime / settime.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <stdarg.h>
4 #include <string.h>
5 #include "../irc/irc.h"
6 #include "../core/schedule.h"
7 #include "../control/control.h"
8
9 schedule *settime_schedule;
10 int settime_cmd(void *sender, int cargc, char **cargv);
11
12 void settime_sendsettime()
13 {
14 time_t newtime;
15
16 newtime = time(NULL);
17 irc_send("%s SE %ld", mynumeric->content, newtime);
18 setnettime(newtime);
19 }
20
21 void _init()
22 {
23 settime_schedule = schedulerecurring(time(NULL) + 300, 0, 1800, &settime_sendsettime, NULL);
24 registercontrolhelpcmd("settime",NO_DEVELOPER,0,&settime_cmd,"Usage: settime\nForce send a settime to network.");
25
26 }
27
28 void _fini()
29 {
30 deleteschedule(settime_schedule, &settime_sendsettime, NULL);
31 deregistercontrolcmd("settime",&settime_cmd);
32 }
33
34 int settime_cmd(void *sender, int cargc, char **cargv) {
35 controlreply(sender,"Sending Settime...");
36 settime_sendsettime();
37 controlreply(sender,"Done");
38 return CMD_OK;
39 }