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, \
`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
{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},