3.3 KiB
block_masshighlight
This shit can halp you prevent highlight spam on your entire network. =] It keeps track of a user's messages on a per-channel basis and checks if they highlight one person too many times or too many different persons at once. Opers and U-Lines are exempt (as per usual), but also those with list modes +a
and +q
. ;3 When someone hits the threshold, a message will be sent to the block_masshighlight.BLOCK_MASSHIGHLIGHT_OPERMSG
log event.
In some cases you might wanna exclude a certain channel from these checks, in which case you can use channel mode +B
. This can be useful for quiz/game channels.
Couple o' thangs to keep in mind:
- The module doesn't count duplicate nicks on the same line as separate highlights
- The module doesn't exclude your own nick, because bots tend to just run through
/names
and won't exclude themselves
Config block:
The module doesn't necessarily require any configuration, it uses the following block as defaults
block_masshighlight {
maxnicks 5;
delimiters " ,.-_/\:;";
action gline;
duration 7d;
reason "No mass highlighting allowed";
snotice 1;
banident 1;
multiline 0;
allow_authed 0;
//allow_accessmode o;
percent 1;
show_opers_origmsg 1;
};
- maxnicks: Maximum amount of highlighted nicks (going over this number results in
action
setting in) -- works in conjunction withpercent
- delimiters: List of characters to split a sentence by (don't forget the surrounding quotes lol) -- any char not in the default list may prevent highlights anyways
- action: Action to take, must be one of:
drop
(drop silently [for the offender]),notice
(drop, but do show notice to them),gline
,zline
,shun
,tempshun
,kill
,viruschan
- duration: How long to
gline
,zline
orshun
for, is a "timestring" like7d
,1h5m20s
, etc - reason: Reason to show to the user, must be at least 4 chars long
- snotice: Whether to send messages to the
block_masshighlight.BLOCK_MASSHIGHLIGHT_DETECTED
log event when users cross the highlight threshold, must be0
or1
(this only affects messages from the module indicating what action it'll take) - banident: When set to
1
it will banident@iphost
, otherwise*@iphost
(useful for shared ZNCs etc) - multiline: When set to
1
it will keep counting highlights until it encounters a line without one - allow_authed: When set to
1
it will let logged-in users bypass this shit - allow_accessmode: Must be one of
vhoaq
(or omitted entirely for no exceptions [the default]), exempts everyone with at minimum the specified mode from highlight checks (e.g.a
includes people with+q
) - percent: Threshold for the amount of characters belonging to highlights, not counting
delimiters
(e.g.hi nick
would be 67%) -- works in conjunction withmaxnicks
- show_opers_origmsg: Send the message that was dropped to the
block_masshighlight.BLOCK_MASSHIGHLIGHT_OPERMSG
log event (this is entirely separate from thesnotice
option)
If you omit a directive which is required for a certain action
, you'll get a warning and it will proceed to use the default. It should be pretty clear what directives are required in what cases imo tbh famalam. ;];]