added event_part
authorpk910 <philipp@zoelle1.de>
Thu, 22 Sep 2011 19:09:18 +0000 (21:09 +0200)
committerpk910 <philipp@zoelle1.de>
Thu, 22 Sep 2011 19:15:32 +0000 (21:15 +0200)
bot_NeonServ.c
event_neonserv_part.c [new file with mode: 0644]

index 509ee09356ba4bdc34b7e7e76304a4e5182dd727..393f8f58108bbdbc3c7e082edd1aee56dc4f528b 100644 (file)
@@ -303,7 +303,7 @@ INCLUDE ALL CMD's HERE
 
 //EVENTS
 #include "event_neonserv_join.c"
-//#include "event_neonserv_part.c"
+#include "event_neonserv_part.c"
 //#include "event_neonserv_quit.c"
 //#include "event_neonserv_kick.c"
 //#include "event_neonserv_mode.c"
@@ -491,6 +491,7 @@ void init_NeonServ() {
     //register events
     bind_bot_ready(neonserv_bot_ready);
     bind_join(neonserv_event_join);
+    bind_part(neonserv_event_part);
     
     set_trigger_callback(BOTID, neonserv_trigger_callback);
     
diff --git a/event_neonserv_part.c b/event_neonserv_part.c
new file mode 100644 (file)
index 0000000..d02aeef
--- /dev/null
@@ -0,0 +1,15 @@
+
+static void neonserv_event_part(struct ChanUser *chanuser, char *reason) {
+    struct ChanNode *chan = chanuser->chan;
+    struct UserNode *user = chanuser->user;
+    MYSQL_RES *res;
+    MYSQL_ROW chanuserrow;
+    loadChannelSettings(chan);
+    if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) return;
+    if((user->flags & USERFLAG_ISAUTHED)) {
+        printf_mysql_query("SELECT `chanuser_id` FROM `chanusers` LEFT JOIN `users` ON `chanuser_uid` = `user_id` WHERE `chanuser_cid` = '%d' AND `user_user` = '%s'", chan->channel_id, escape_string(user->auth));
+        res = mysql_use();
+        if((chanuserrow = mysql_fetch_row(res)) != NULL)
+            printf_mysql_query("UPDATE `chanusers` SET `chanuser_seen` = UNIX_TIMESTAMP() WHERE `chanuser_id` = '%s'", chanuserrow[0]);
+    }
+}