Our server pr0vider carried out maintenance on 15 January 2020 but it corrupted some files in the process. If you notice anything out of the ordinary (partial files, pages not loading, that kind of shit) then let us know at:

block_masshighlight.md 3.2 KB

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, opers with the snomask EYES will get a server notice through the module (enable that shit with /mode <nick> +s +e etc ;]).

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 with percent
  • 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 or shun for, is a "timestring" like 7d, 1h5m20s, etc
  • reason: Reason to show to the user, must be at least 4 chars long
  • snotice: Whether to send snomask notices when users cross the highlight threshold, must be 0 or 1 (this only affects messages from the module indicating what action it'll take)
  • banident: When set to 1 it will ban ident@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 with maxnicks
  • show_opers_origmsg: Display the message that was dropped to opers with the SNO_EYES snomask set (this is entirely separate from the snotice 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. ;];]