added NeonSpam Badword scanner
[NeonServV5.git] / src / modules / NeonSpam.mod / cmd_neonspam_set.c
index 6b8cd3d1d7ddca8e8972f1298712d8d278fd68a7..30df3027497c933baaef39d04beca11ded6243ba 100644 (file)
@@ -31,7 +31,7 @@ static char* neonspam_cmd_setscanvoice(struct ClientSocket *client, struct UserN
 static char* neonspam_cmd_setscanexcept(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int intparam, char *charparam, char *argument, char *retBuf);
 
 static MYSQL_ROW neonspam_settings_row, neonspam_settings_defaults;
-#define SPAMSERV_SETTINGS_QUERY "`channel_spam_reaction`, `channel_spam_reaction_duration`, `channel_flood_reaction`, `channel_flood_reaction_duration`, `channel_join_reaction`, `channel_join_reaction_duration`, `channel_botnet_bantime`, `channel_caps_reaction`, `channel_caps_reaction_duration`, `channel_digit_reaction`, `channel_digit_reaction_duration`"
+#define SPAMSERV_SETTINGS_QUERY "`channel_spam_reaction`, `channel_spam_reaction_duration`, `channel_flood_reaction`, `channel_flood_reaction_duration`, `channel_join_reaction`, `channel_join_reaction_duration`, `channel_botnet_bantime`, `channel_caps_reaction`, `channel_caps_reaction_duration`, `channel_digit_reaction`, `channel_digit_reaction_duration`, `channel_badword_reaction`, `channel_badword_reaction_duration`"
 #define SPAMSERV_SETTINGS_RESET "\
 `channel_scanner` = NULL, \
 `channel_spam_limit` = NULL, \
@@ -57,7 +57,10 @@ static MYSQL_ROW neonspam_settings_row, neonspam_settings_defaults;
 `channel_digit_percent` = NULL, \
 `channel_digit_reaction` = NULL, \
 `channel_digit_reaction_duration` = NULL, \
-`channel_digit_except` = NULL "
+`channel_digit_except` = NULL, \
+`channel_badword_reaction` = NULL, \
+`channel_badword_reaction_duration` = NULL, \
+`channel_badword_except` = NULL "
 
 #define SET_HELP       0x0001
 #define SET_BOOL       0x0002
@@ -127,6 +130,13 @@ static const struct {
     {SPAMSETTINGS_DIGITSCAN,                           2,  "DigitScanVoiced",   neonspam_cmd_setflags,            SPAMSETTINGS_DIGITSCAN_VOICE,   NULL,                             SET_BOOL | SET_SCANVOICE},
     {SPAMSETTINGS_DIGITSCAN,                           2,  "DigitScanExcept",   neonspam_cmd_setexcept,           SPAMSETTINGS_DIGITEXCINDEX,     "channel_digit_except",           SET_HELP | SET_SCANEXCEPT},
     
+    {0,                                                0,  "BadwordScan",       neonspam_cmd_setflags,            SPAMSETTINGS_BADWORDSCAN,       NULL,                             SET_BOOL},
+    {SPAMSETTINGS_BADWORDSCAN | SPAMSETTINGS_SETTIMEBAN,2, "BadwordReaction",   neonspam_cmd_set_reaction,        11,                             "channel_badword_reaction",       SET_OPT | (3 << SET_OPT_SHIFT)},
+    {SPAMSETTINGS_BADWORDSCAN | SPAMSETTINGS_ISTIMEBAN,4,  "BadwordBanDuration",neonspam_cmd_set_reaction_time,   12,                             "channel_badword_reaction_duration", 0},
+    {SPAMSETTINGS_BADWORDSCAN,                         2,  "BadwordScanChanOps",neonspam_cmd_setflags,            SPAMSETTINGS_BADWORDSCAN_OPS,   NULL,                             SET_BOOL | SET_SCANOPS},
+    {SPAMSETTINGS_BADWORDSCAN,                         2,  "BadwordScanVoiced", neonspam_cmd_setflags,            SPAMSETTINGS_BADWORDSCAN_VOICE, NULL,                             SET_BOOL | SET_SCANVOICE},
+    {SPAMSETTINGS_BADWORDSCAN,                         2,  "BadwordScanExcept", neonspam_cmd_setexcept,           SPAMSETTINGS_BADWORDEXCINDEX,   "channel_badword_except",         SET_HELP | SET_SCANEXCEPT},
+    
     {0,                                                0,  "GlobalScanChanOps", neonspam_cmd_setscanops,          0,                              NULL,                             SET_BOOL},
     {0,                                                0,  "GlobalScanVoice",   neonspam_cmd_setscanvoice,        0,                              NULL,                             SET_BOOL},
     {0,                                                0,  "GlobalScanExcept",  neonspam_cmd_setscanexcept,       0,                              NULL,                             SET_HELP},