-/* bot_NeonSpam.c - NeonServ v5.3
+/* bot_NeonSpam.c - NeonServ v5.4
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
MYSQL_RES *res;
MYSQL_ROW row, defaults = NULL;
loadChannelSettings(chan);
+ if(!(chan->flags & CHANFLAG_CHAN_REGISTERED))
+ return 0;
printf_mysql_query("SELECT `channel_scanner`, `channel_spam_limit`, `channel_spam_except`, `channel_flood_limit`, `channel_flood_time`, `channel_flood_except`, `channel_join_limit`, `channel_join_time`, `channel_join_except`, `channel_caps_percent`, `channel_caps_except`, `channel_digit_percent`, `channel_digit_except` FROM `channels` WHERE `channel_id` = '%d'", chan->channel_id);
res = mysql_use();
row = mysql_fetch_row(res);
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);
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);
}