signore.md 1.4 KB

[SPEC] signore

Requested by Jellis and Stanley. This module allows privileged opers to set a server-side ignore of sorts, making 2 users' messages invisible to each other (in private only tho, just muteban them if they shitpost in-channel or something). Servers, U-Lines and opers are exempt for obvious raisins.

Expiring these so-called I-Lines is done with an EVENT thingy in Unreal, which is set to run every 10 seconds. This means if you set an ignore for 5 seconds (why would you anyways?) it may not expire after eggzacktly 5 seconds. ;] When no expiration is specified the value in set::default-bantime is used. Every server checks the expirations themselves. =] Also, they store it in a ModData struct so it persists through a rehash without the need for a .db fiel. ;] Furthermore, they sync their known I-Lines upon server linkage. =]] Other lines such as G-Lines, Z-Lines are also stored in memory and get resynced during a link so these are pretty similar aye.

Config block:

operclass netadmin-signore {
    parent netadmin;
    privileges {
        signore;
    };
};

Syntax:
SIGNORE [-]<ident@host> <ident2@host2> [expire] <reason>

Also supports the alias ILINE. The first 2 arguments may also be online nicknames, they will be resolved to their respective full mask. =] Wildcards * and ? are also supp0rted. Masks cannot overlap each other (e.g. som*@* and s*@*).