added cmd_netinfo
[NeonServV5.git] / bot_NeonServ.c
index 5305913595233ceeff03b77f85410c4fa6a77ce7..fae9f0e588cdd372b5468abb347c380f41d4af41 100644 (file)
@@ -130,6 +130,13 @@ static const struct default_language_entry msgtab[] = {
     {"NS_DELBAN_BANNED_BY", "%s is banned by %s."},
     {"NS_DELBAN_FAIL", "Sorry, no ban found for \002%s\002."},
     {"NS_DELBAN_DONE", "Removed \002%s\002 from the %s ban list."},
+    {"NS_NETINFO_HEADER", "\002Network information\002"},
+    {"NS_NETINFO_UPTIME", "Uptime:"},
+    {"NS_NETINFO_TRAFFIC", "Traffic:"},
+    {"NS_NETINFO_CACHE", "Cache:"},
+    {"NS_NETINFO_CHANNEL", "  Channel:"},
+    {"NS_NETINFO_USER", "  User:"},
+    {"NS_NETINFO_CHANUSER", "  Channel-User:"},
     {NULL, NULL}
 };
 
@@ -178,7 +185,7 @@ INCLUDE ALL CMD's HERE
 //#include "cmd_neonserv_mode.c"
 //#include "cmd_neonserv_invite.c"
 //#include "cmd_neonserv_info.c"
-//#include "cmd_neonserv_netinfo.c"
+#include "cmd_neonserv_netinfo.c"
 //#include "cmd_neonserv_peek.c"
 #include "cmd_neonserv_set.c" /* TODO: parse, check and set modelock */
 //#include "cmd_neonserv_events.c"
@@ -314,6 +321,7 @@ void init_NeonServ() {
     register_command(BOTID, "addban",       neonserv_cmd_addban,    1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH,  "#channel_staticban",   0);
     register_command(BOTID, "bans",         neonserv_cmd_bans,      0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH,  "1",                    0);
     register_command(BOTID, "delban",       neonserv_cmd_delban,    1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH,  "#channel_staticban",   0);
+    register_command(BOTID, "netinfo",      neonserv_cmd_netinfo,   0, 0,                                                                                           NULL,                   0);
     
     register_command(BOTID, "trace",        neonserv_cmd_trace,     1, CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH,                                                   NULL,                   400);
     
@@ -325,6 +333,20 @@ void init_NeonServ() {
     register_default_language_table(msgtab);
 }
 
+void loop_NeonServ() {
+    //check channel bans
+    check_mysql();
+    MYSQL_RES *res;
+    MYSQL_ROW row;
+    printf_mysql_query("SELECT `ban_mask`, `ban_id` FROM `bans` WHERE `ban_expire` != '0' AND `ban_expire` <= UNIX_TIMESTAMP()");
+    res = mysql_use();
+    while ((row = mysql_fetch_row(res)) != NULL) {
+        printf_mysql_query("DELETE FROM `bans` WHERE `ban_id` = '%s'", row[1]);
+        //TODO: remove the ban from the channel
+    }
+    mysql_free();
+}
+
 void free_NeonServ() {
     
 }