-# Configuration file for m_filter.so and m_filter_pcre.so
+# Configuration file for the filter module
# The tags for this module are formatted as follows:
#
# reason="reason for filtering"
# action="action to take"
# flags="filter flags"
-# duration="optional length of gline">
+# duration="optional duration of the G-line, Z-line or shun">
#
# Valid actions for 'action' are:
#
+# warn This allows the line and sends out a notice to all opers
+# with +s.
+#
# block This blocks the line, sends out a notice to all opers with
# +s and informs the user that their message was blocked.
#
-# silent This blocks the line only, and informs the user their message
-# was blocked, but does not notify opers.
+# silent This blocks the line only, and informs the user that their
+# message was blocked, but does not notify opers.
#
# none This action causes nothing to be done except logging. This
# is the default action if none is specified.
# kill This disconnects the user, with the 'reason' parameter as
# the kill reason.
#
-# gline G-LINE the user for 'duration' length of time. Durations may
-# be specified using the notation 1y2d3h4m6s in a similar way to
-# other glines, omitting the duration or setting it to 0 makes
-# any glines set by this filter be permanent.
+# gline G-line the user for 'duration' length of time. Durations may
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
+# other G-lines, omitting the duration or setting it to 0 makes
+# any G-lines set by this filter be permanent.
+#
+# zline Z-line the user for 'duration' length of time. Durations may
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
+# other Z-lines, omitting the duration or setting it to 0 makes
+# any Z-lines set by this filter be permanent.
+#
+# shun Shun the user for 'duration' length of time. Durations may
+# be specified using the notation 1y2w3d4h5m6s in a similar way to
+# other X-lines, omitting the duration or setting it to 0 makes
+# any shuns set by this filter be permanent.
+# Requires the shun module to be loaded.
#
# You can add filters from IRC using the /FILTER command. If you do this, they
# will be set globally to your entire network.
# P: Block part messages
# q: Block quit messages
# o: Don't match against opers
+# r: Don't match against registered users
# c: Strip color codes from text before trying to match
-# *: Represents all of the above flags
-# -: Does nothing, a non-op for when you do not want to specify any flags
-#
-# IMPORTANT NOTE: Because the InspIRCd config reader places special meaning on the
-# '\' character, you must use '\\' if you wish to specify a '\' character in a regular
-# expression. For example, to indicate numbers, use \\d and not \d. This does not
-# apply when adding a regular expression over irc with the /FILTER command.
+# *: Represents all of the above flags except r
+# -: Does nothing, a no-op for when you do not want to specify any flags
-# Example filters for m_filter:
+# Example filters:
#
# <keyword pattern="*qwerty*" reason="You qwertied!" action="block" flags="pn">
# <keyword pattern="*killmenow*" reason="As you request." action="kill" flags="*">
-# <keyword pattern="*blah*" reason="Dont blah!" action="gline" duration="1d6h" flags="-">
+# <keyword pattern="*blah*" reason="Don't blah!" action="gline" duration="1d6h" flags="-">
-# An example regexp filter for m_filter_pcre:
+# An example regexp filter:
#
-# <keyword pattern="^blah.*?$" reason="Dont blah!" action="gline" duration="1d6h" flags="pnPq">
+# <keyword pattern="^blah.*?$" reason="Don't blah!" action="gline" duration="1d6h" flags="pnPq">
+
+# You may specify specific channels that are exempt from being filtered:
+#<exemptfromfilter target="#opers">
+#<exemptfromfilter target="#help">
+
+# You can also exempt messages from being filtered if they are sent to
+# specific nicks.
+# Example that exempts all messages sent *to* NickServ:
+#<exemptfromfilter target="NickServ">
-# An example of excluding a channel from filtering:
-# <exemptfromfilter channel="#help">
+# Note that messages *from* services are never subject to filtering;
+# <exemptfromfilter> tags are only for exempting messages sent *to* the
+# configured targets.