summaryrefslogtreecommitdiff
path: root/include/modules/bs_kick.h
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-07-01 22:17:52 -0400
committerAdam <Adam@anope.org>2013-07-01 22:17:52 -0400
commit1a3d9a016d3adc49788bbff73aac9b3b5ea85b17 (patch)
treec0ecf92ed768473bc82ff64a7fce827245f37ba9 /include/modules/bs_kick.h
parent518182ac9204f815258b0de91b3f884d8efa1502 (diff)
Change extensible keys to require explicitly having a type defined for it. Completely modularize more features like bs_kick, entrymsg, log, mode, etc. Move fantasy to its own module. Move greet to its own module.
Diffstat (limited to 'include/modules/bs_kick.h')
-rw-r--r--include/modules/bs_kick.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/modules/bs_kick.h b/include/modules/bs_kick.h
new file mode 100644
index 000000000..e1c43cc8c
--- /dev/null
+++ b/include/modules/bs_kick.h
@@ -0,0 +1,45 @@
+/* BotServ core functions
+ *
+ * (C) 2003-2013 Anope Team
+ * Contact us at team@anope.org
+ *
+ * Please read COPYING and README for further details.
+ *
+ * Based on the original code of Epona by Lara.
+ * Based on the original code of Services by Andy Church.
+ *
+ *
+ */
+
+/* Indices for TTB (Times To Ban) */
+enum
+{
+ TTB_BOLDS,
+ TTB_COLORS,
+ TTB_REVERSES,
+ TTB_UNDERLINES,
+ TTB_BADWORDS,
+ TTB_CAPS,
+ TTB_FLOOD,
+ TTB_REPEAT,
+ TTB_ITALICS,
+ TTB_AMSGS,
+ TTB_SIZE
+};
+
+struct KickerData
+{
+ bool amsgs, badwords, bolds, caps, colors, flood, italics, repeat, reverses, underlines;
+ int16_t ttb[TTB_SIZE]; /* Times to ban for each kicker */
+ int16_t capsmin, capspercent; /* For CAPS kicker */
+ int16_t floodlines, floodsecs; /* For FLOOD kicker */
+ int16_t repeattimes; /* For REPEAT kicker */
+
+ bool dontkickops, dontkickvoices;
+
+ protected:
+ KickerData() { }
+
+ public:
+ virtual void Check(ChannelInfo *ci) = 0;
+};