multiple fixes
[NeonServV5.git] / src / modules / NeonSpam.mod / bot_NeonSpam.c
index 8438381f39b212dabdb17bc52f325d87348e08e4..33aa14e1856254e1fe86756d931a93c256c2cde0 100644 (file)
@@ -324,6 +324,12 @@ static void createSpamNode(struct ChanUser *chanuser) {
     chanuser->spamnode = spamnode;
 }
 
+static int neonspam_event_freechan(struct ChanNode *chan) {
+    if(chan->spam_settings)
+        freeNeonSpamSettings(chan->spam_settings);
+    return 1;
+}
+
 void init_NeonSpam(int type) {
     
     set_bot_alias(BOTID, BOTALIAS);
@@ -332,13 +338,14 @@ void init_NeonSpam(int type) {
     if(type == MODSTATE_REBIND) return;
     
     //register events
-    bind_bot_ready(neonspam_bot_ready);
-    bind_join(neonspam_event_join);
-    bind_chanmsg(neonspam_event_chanmsg);
-    bind_privctcp(general_event_privctcp);
-    bind_kick(neonspam_event_kick);
+    bind_bot_ready(neonspam_bot_ready, module_id);
+    bind_join(neonspam_event_join, module_id);
+    bind_chanmsg(neonspam_event_chanmsg, module_id);
+    bind_privctcp(general_event_privctcp, module_id);
+    bind_kick(neonspam_event_kick, module_id);
+    bind_freechan(neonspam_event_freechan, module_id);
     
-    set_trigger_callback(BOTID, neonspam_trigger_callback);
+    set_trigger_callback(BOTID, module_id, neonspam_trigger_callback);
     
     register_default_language_table(msgtab);
 }