X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fbot_NeonSpam.c;h=bf2ae92c6392712140a3927e5e514cd765263ec3;hb=744387b352bc4d7d42fd6143d8583f3c64e56b9e;hp=19a14b0ac638aa5430559950168ea144f6767867;hpb=30b61f872c5258918ebc71b9677623de40b630a2;p=NeonServV5.git diff --git a/src/bot_NeonSpam.c b/src/bot_NeonSpam.c index 19a14b0..bf2ae92 100644 --- a/src/bot_NeonSpam.c +++ b/src/bot_NeonSpam.c @@ -16,6 +16,25 @@ */ #include "bot_NeonSpam.h" +#include "modcmd.h" +#include "IRCParser.h" +#include "IRCEvents.h" +#include "UserNode.h" +#include "ChanNode.h" +#include "ChanUser.h" +#include "ModeNode.h" +#include "BanNode.h" +#include "ClientSocket.h" +#include "mysqlConn.h" +#include "lang.h" +#include "HandleInfoHandler.h" +#include "WHOHandler.h" +#include "DBHelper.h" +#include "tools.h" +#include "timeq.h" +#include "version.h" +#include "EventLogger.h" +#include "bots.h" #include "cmd_neonserv.h" #define BOTID 2 @@ -24,8 +43,12 @@ static const struct default_language_entry msgtab[] = { {NULL, NULL} }; +static int loadNeonSpamSettings(struct ChanNode *chan); +static void createSpamNode(struct ChanUser *chanuser); + //EVENTS //#include "event_neonspam_join.c" +#include "event_neonspam_chanmsg.c" static void neonspam_bot_ready(struct ClientSocket *client) { MYSQL_RES *res; @@ -91,7 +114,33 @@ static void start_bots() { } } } - +} + +static int loadNeonSpamSettings(struct ChanNode *chan) { + struct NeonSpamSettings *settings = malloc(sizeof(*settings)); + if(!settings) { + perror("malloc() failed"); + return 0; + } + settings->flags = SPAMSETTINGS_SCANVOICE | SPAMSETTINGS_FLOODSCAN | SPAMSETTINGS_SPAMSCAN; + settings->spam_amount = 3; + settings->flood_amount = 4; + settings->flood_time = 5; + chan->spam_settings = settings; + return 1; +} + +static void createSpamNode(struct ChanUser *chanuser) { + struct NeonSpamNode *spamnode = malloc(sizeof(*spamnode)); + if(!spamnode) { + perror("malloc() failed"); + return; + } + spamnode->lastmsg = 0; + spamnode->spamcount = 0; + spamnode->floodpenalty = 0; + spamnode->last_penalty_update = time(0); + chanuser->spamnode = spamnode; } void init_NeonSpam() { @@ -115,6 +164,7 @@ void init_NeonSpam() { //register events bind_bot_ready(neonspam_bot_ready); //bind_join(neonspam_event_join); + bind_chanmsg(neonspam_event_chanmsg); bind_privctcp(general_event_privctcp); set_trigger_callback(BOTID, neonspam_trigger_callback);