Using ChanServ

Because we choose to run an IRCd and Services that do not suck, some people are unfamiliar with the Atheme system, or how to work if. For that reason, I have put together this little page to help you out!

Firstly, let’s start with channel access.

You can check your access levels by typing: !flags

While you may be used to the “op” or ‘@’-prefix, and “voice” or ‘+’-prefix, InspIRCd and Atheme allow for much more than simply that. Think of it as a “food chain”, where it goes:

Founder > Owner > SOP > AOP > HOP > VOP > nothing

Or, in a quick reference guide:

User Level Corresponding Command
Founder !flags user +*F
Owner !flags user +*
SOP !SOP add user
AOP !AOP add user
HOP !HOP add user
VOP !VOP add user

In this food chain, at the top, we have the Channel Founder. The founder of a channel is the top dog of the channel. The founder is the only person who can give another user access. There is no template for channel founders, if you want to add a founder, you must type: !flags user +*F

In this example, ‘User’ is the nickname of the person you want to grant Founder access. The ‘+*F’ are the flags that designate founder, ‘*‘ is a ‘wildcard’, which will give that user ALL flags except +F. The ‘F‘ flag is what stands for “Founder”, and must be set manually, so that it cannot be set accidentally with a template. The only difference in a channel founder and a channel owner is the +F flag; only users with the +F flag may add/remove the flag to/from other users. Even if an owner does !flags user -*, the "F" flag would still not be removed, and founder would still have control over the channel.

Below “Founder/Owner” is “SOP”. You could say it stands for Super-OP. Channel SOP’s are below founders, but above all others. This means that only a channel founder, or another SOP, can /kick a SOP user from a channel. To add a user to a channel’s SOP list, you would type: !sop add user

Under “SOP” is “AOP”, AOP is what most user know as “Channel operators”, designated by a “@” flag, or a green dot in more graphical clients. Channel operators are underneath founders and SOP’s. To add a user to the AOP list, you would type: !aop add user

Below “AOP” is “HOP”. HOP stands for Half-Operator. Half-Ops are the lowest level an op can be who can still use the /kick, /ban, and /topic commands; essentially, HOP is the minimum amount of power able to be given. To add a user to your HOP list, you would type: !hop add user

Lastly, is VOP. VOP is what is commonly known by the “+” flag, or the yellow dot in more graphical clients. Voiced users have no power in the channel, and in fact, being voiced is irrelevant in channels which are not moderated (channel mode +m). Some channels set up VOP flags on the user mask “*!*@*” just so that at a minimum, all users in that channel will be voiced. Again, voiced users have no power, they cannot kick, ban, change the topic, or any other operator function. The only thing special about being voiced is the ability to speak in a moderated channel. To add a user to your VOP list, you would type: !vop add user

Changing Flags
Now that you know how to add flags, let’s talk about changing access for a user. Say you accidentally gave someone an AOP when you wanted them to have a VOP, or you want to upgrade one of your user’s access.

When going up in access, all you have to do is add the user to the higher access class. So say user “goose” has VOP access, and you want to change it to AOP, all you have to do is type: !aop add goose

And that’s it! ChanServ will figure out the rest!

When going down in access, it’s the exact same commands, ChanServ will figure out the flags that need to be changed for what you want. So let’s say you wanted to take user “goose” off the AOP list and on the VOP list.

Simply type: !vop add goose

And goose will be added to the channel’s auto-voice list, without you having to manually mess with any of the flags, ChanServ will automagically change the access from AOP to VOP. Notice, however, that while the access is changed, the actual user-in-channel mode may not be changed until the user parts/rejoins, or you issue a !sync command.

Many functions can be found in ChanServ’s help menu, available by typing: !help

For those interested in what each flag in the access list does, setting individual flags rather than using SOP/AOP/HOP/VOP can be used for much more fine tuning of your user access. To add flags on a user, all you have to do is type:

!flags user +flags

Or to remove flags, simply type:

!flags user -flags

Note that rather than using a user's nickname, you can use nickname!ident@hostmask as well, for all flags except "F". Wildcards are allowed. Here is a list of all the available flags, with an explination of each flags designation.

Flag Effect
+v Enables use of the voice/devoice commands. This is not automatic. Usage is: !voice, and !devoice
+V Enables automatic voice. This is automagically done on join.
+h Enables use of the halfop/dehalfop commands. This is not automatic. Usage is !halfop, and !dehalfop
+H Enables automatic halfop. This is automagically done on join.
+o Enables use of the op/deop commands. This is not automatic. Usage is !op, and !deop
+O Enables automatic op. This is automagically done on join.
+a Enables use of the protect/deprotect commands. This is done automagically on join, and what gives a user SOP.
+q Enables use of the owner/deowner commands. This is done augomagically on join, and what gives a user Channel Owner.
+s Enables use of the set command. Usage is !set variable on|off
+i Enables use of the invite and getkey commands. (Note that unless channel mode +A is set, only halfops and above can use the invite and getkey commands)
+r Enables use of the kick, kickban, ban and unban commands.
+R Enables use of the recover and clear commands. You probably only want channel founders to have this access.
+f Enables modification of channel access lists. This is given to SOP users, and channel owners, by default.
+t Enables use of the topic and topicappend commands. This is given to HOP users and above, by default.
+A Enables viewing of channel access lists. This is given to VOP users and above, by default.
+F Grants full founder access. This will give the user full founder access to the channel. Note that giving someone +* flags does not give the F flag; it must be given manually.

Note that this entire tutorial is written using "Fantasy Commands". If fantasy commands are disabled for your channel (You cannot issue ChanServ commands using a "!" prefix out loud in channel) you will simply have to replace the "!" with "/msg ChanServ #channel [rest of the command]" for all the commands in this tutorial.

Be sure to stop by #ChatSpike if you need any more help!