1.7 KB


I've gotten multiple requests to have a module to implement SA* commands (like SANICK, SAUMODE) within the IRCd instead of through services (usually /os SVSNICK etc). Right now it allows privileged opers to forcibly change someone's nickname and/or their usermodes. =] You cannot use any of these commands on U-Lined users, raisins should b fairly obvious.

This m0d also implements a snomask +A to indicate who can see the related server notices. I had to pick A (ykno, like Admin?) cuz all of cCnNsS are already taken, so rip. There are also operprivs for every "subcommand" to indicate who can use which. You also gotta have one of the operprivs to set the snomask. ;] The target user won't get a visual cue at all for umode changes, unlike when using services. This means no notice, no <nick> sets mode <modestr> in their console, etc.

Config blocks:
First, make sure an operclass has one or more of the operprivs:

operclass netadmin-sacmds {
    parent netadmin;
    privileges {

And assign it to one or more oper(s). Then (optionally), to easily and automatically enable the snomask for them, append the A flag to your current set::snomask-on-oper:

set {
    // Rest of your set block goes here
    snomask-on-oper "cfkevGqsSoA";

This won't set the snomask for opers w/o the privilege, as the IRCd executes the on-oper thingy on behalf/in name of the oper. As such, operprivs are verified beforehand. ;]

SANICK <fromnick> <tonick>
SAUMODE <nick> <umodes>

SANICK ayy bastem => Changes the nick ayy to bastem
SAUMODE bastem -x+Z => Removes bastem's virtual host and enables the secureonlymsg restriction