#include "main.h"
-#define SPAMSETTINGS_SPAMSCAN 0x0001
-#define SPAMSETTINGS_FLOODSCAN 0x0002
-#define SPAMSETTINGS_JOINSCAN 0x0004
-#define SPAMSETTINGS_SCANOPS 0x0008
-#define SPAMSETTINGS_SCANVOICE 0x0010
-#define SPAMSETTINGS_BOTNETSCAN 0x0020
-#define SPAMSETTINGS_KICKEDBOTQUEUE 0x0040
+//SPAMSCAN
+#define SPAMSETTINGS_SPAMSCAN 0x000001
+#define SPAMSETTINGS_SPAMSCAN_OPS 0x000002
+#define SPAMSETTINGS_SPAMSCAN_VOICE 0x000004
+#define SPAMSETTINGS_SPAMCHARS "abc"
+#define SPAMSETTINGS_SPAMEXCINDEX 0
+
+//FLOODSCAN
+#define SPAMSETTINGS_FLOODSCAN 0x000008
+#define SPAMSETTINGS_FLOODSCAN_OPS 0x000010
+#define SPAMSETTINGS_FLOODSCAN_VOICE 0x000020
+#define SPAMSETTINGS_FLOODCHARS "def"
+#define SPAMSETTINGS_FLOODEXCINDEX 1
+#define SPAMSETTINGS_FLOODSENINDEX 0
+
+//JOINSCAN
+#define SPAMSETTINGS_JOINSCAN 0x000040
+#define SPAMSETTINGS_JOINSCAN_OPS 0x000080
+#define SPAMSETTINGS_JOINSCAN_VOICE 0x000100
+#define SPAMSETTINGS_JOINCHARS "ghi"
+#define SPAMSETTINGS_JOINEXCINDEX 2
+#define SPAMSETTINGS_JOINSENINDEX 1
+
+//BOTNET SCAN
+#define SPAMSETTINGS_BOTNETSCAN 0x000200
+#define SPAMSETTINGS_BOTNETSCAN_OPS 0x000400
+#define SPAMSETTINGS_BOTNETSCAN_VOICE 0x000800
+#define SPAMSETTINGS_BOTNETSCAN_STRIPCC 0x001000
+#define SPAMSETTINGS_BOTNETCHARS "jklm"
+#define SPAMSETTINGS_BOTNETEXCINDEX 3
+
+//CAPSSCAN
+#define SPAMSETTINGS_CAPSSCAN 0x002000
+#define SPAMSETTINGS_CAPSSCAN_OPS 0x004000
+#define SPAMSETTINGS_CAPSSCAN_VOICE 0x008000
+#define SPAMSETTINGS_CAPSCHARS "nop"
+#define SPAMSETTINGS_CAPSEXCINDEX 4
+#define SPAMSETTINGS_CAPSPERCENTINDEX 0
+
+//DIGITSCAN
+#define SPAMSETTINGS_DIGITSCAN 0x010000
+#define SPAMSETTINGS_DIGITSCAN_OPS 0x020000
+#define SPAMSETTINGS_DIGITSCAN_VOICE 0x040000
+#define SPAMSETTINGS_DIGITCHARS "qrs"
+#define SPAMSETTINGS_DIGITEXCINDEX 5
+#define SPAMSETTINGS_DIGITPERCENTINDEX 1
+
+
+#define SPAMSETTINGS_CHARS SPAMSETTINGS_SPAMCHARS SPAMSETTINGS_FLOODCHARS SPAMSETTINGS_JOINCHARS SPAMSETTINGS_BOTNETCHARS SPAMSETTINGS_CAPSCHARS SPAMSETTINGS_DIGITCHARS
+#define SPAMSETTINGS_FLAGS 0x07ffff /* all flags that can be stored in the database */
+#define SPAMSETTINGS_EXCEPTINDEXES 6
+#define SPAMSETTINGS_SENSIBILITYINDEXES 2
+#define SPAMSETTINGS_PERCENTINDEXES 2
+
+//SCRIPT FLAGS
+#define SPAMSETTINGS_KICKEDBOTQUEUE 0x080000
+#define SPAMSETTINGS_ISTIMEBAN 0x100000
+#define SPAMSETTINGS_SETTIMEBAN 0x200000
#define MAX_FLOOD_AMOUNT 300
#define MIN_FLOOD_AMOUNT 2
struct NeonSpamSettings {
unsigned int flags;
unsigned char spam_amount;
- unsigned char flood_amount;
- unsigned char flood_time;
- unsigned char join_amount;
- unsigned char join_time;
- unsigned int exceptlevel : 10;
+ unsigned char sensibility_amount[SPAMSETTINGS_SENSIBILITYINDEXES];
+ unsigned char sensibility_time[SPAMSETTINGS_SENSIBILITYINDEXES];
+ unsigned int exceptlevel[SPAMSETTINGS_EXCEPTINDEXES];
+ unsigned char percent[SPAMSETTINGS_PERCENTINDEXES];
//joinflood
struct NeonSpamJoinNode *join_nodes;
void free_NeonSpam();
void freeNeonSpamSettings(struct NeonSpamSettings *settings);
+char* convertNeonSpamSettingsToString(unsigned int flags, char *buffer);
#endif
\ No newline at end of file