Access System Tutorial

On GeekShed, we have two access systems. Standard access system, and XOP. XOP is a simplification of the access system to make things a bit easier. However, with simplification comes a loss of features.

XOP is enabled by default for newly registered channels. It has 4 ChanServ commands – VOP, HOP, AOP and SOP for auto voice, auto halfop, auto op and auto admin, respectively. See ChanServ Commands for help with those commands.

The regular access system really isn’t very difficult to get your head around and provides you with much more control over your channel. To use it, you must first turn XOP off with the command:

/cs set #channel xop off

Following this, you must use the access level system to give people certain privileges in your channel. The access level system uses numbers to represent access. They range between -2 and 10000. The list below shows which levels, by default, map to which access within the IRC server:

-2 – Unable to join the channel
-1 – Not allowed to be oped in the channel
0 – Regular user
3 – Voiced user
4 – Halfop user
5 – Full op user
10 – Admin user
9999 – Channel owner

To change the access level of a user, use the following command:

/cs access #channel add

An example of the use of this command is:

/cs access #chills add Phil 5

This would make Phil level 5 (an op, by default) in #chills.

However, there is much more to the access system than this. You can customize many aspects of your channel.

These are:

AUTODEOP :: Channel operator status disallowed
AUTOHALFOP :: Automatic mode +h
AUTOOP :: Automatic channel operator status
AUTOPROTECT :: Automatic mode +a
AUTOVOICE :: Automatic mode +v
NOJOIN :: Not allowed to join channel
SIGNKICK :: No signed kick when SIGNKICK LEVEL is used
ACC-LIST :: Allowed to view the access list
ACC-CHANGE :: Allowed to modify the access list
AKICK :: Allowed to use AKICK command
SET :: Allowed to use SET command (not FOUNDER/PASSWORD)
BAN :: Allowed to use BAN command
BANME :: Allowed to ban him/herself
CLEAR :: Allowed to use CLEAR command
GETKEY :: Allowed to use GETKEY command
HALFOP :: Allowed to use HALFOP/DEHALFOP commands
HALFOPME :: Allowed to (de)halfop him/herself
INFO :: Allowed to use INFO command with ALL option
KICK :: Allowed to use KICK command
KICKME :: Allowed to kick him/herself
INVITE :: Allowed to use INVITE command
OPDEOP :: Allowed to use OP/DEOP commands
OPDEOPME :: Allowed to (de)op him/herself
PROTECT :: Allowed to use PROTECT/DEPROTECT commands
PROTECTME :: Allowed to (de)protect him/herself
TOPIC :: Allowed to use TOPIC command
UNBAN :: Allowed to use UNBAN command
VOICE :: Allowed to use VOICE/DEVOICE commands
VOICEME :: Allowed to (de)voice him/herself
MEMO :: Allowed to list/read channel memos
ASSIGN :: Allowed to assign/unassign a bot
BADWORDS :: Allowed to use BADWORDS command
FANTASIA :: Allowed to use fantaisist commands
GREET :: Greet message displayed
NOKICK :: Never kicked by the bot’s kickers
SAY :: Allowed to use SAY and ACT commands

These levels are all minimum levels, except AUTODEOP and NOJOIN, which are maximum levels. Thus, any user with an access level higher than the one defined for a particular access level name will have permission to do that.

To see how these are currently configured in your channel, use the command:

/cs levels #channel list

Any of these can be customized using the command:

/cs levels #channel set

So… If you would like users of level 7 and above to be able to read channel memos in #chills, you would do:

/cs levels #chills set memo 7

As you can see, the power provided by the non-XOP access system is incredibly diverse. Give it a try – you never know, you might like it.

Any questions, ask in #help.

Extended Bans Tutorial

Silencing Users with Extended Bans

You can use extended bans to set up an alternative kind of ban that will give you more options, like silencing users. You can also read about how to set a simple channel ban and how to set more specific channel bans.

When you silence a user, you allow the person to stay in the channel, but block the person’s ability to participate in the discussion or change nicks. It’s an online equivalent of a short timeout, where the person has to sit quietly for several minutes before rejoining discussion.

To silence a user manually, you’d type:

/mode #YourChannel +bb ~q:nick!ident@user.host ~n:nick!ident@user.host

That command sets two bans, which is why the host information is listed twice. The first one (~q:nick!ident@user.host) prevents the user from participating in the discussion (unless the user is +v or higher). The ~q stands for quiet. The second one (~n: nick!ident user.host) prevents the user from changing nicks. The ~n stands for nick.

In #YourChannel, bans are normally set by the user’s host, so an example ban would look like this:

/mode #YourChannel +bb ~n:*!*@protectedhost-1234578.hsd1.va.comcast.net 
~q:*!*@protectedhost-1234578.hsd1.va.comcast.net

That example bans anyone (with any nick or ident) with the hostmask protectedhost-12345678.hsd1.va.comcast.net.

 

Removing a Silence Extended Ban

If you silence a user manually, you have to remove the ban manually as well. Since you set the ban with +b, you will remove it by using the same command, but with -b. So to remove the ban, you would type:

/mode #YourChannel -bb ~q:nick!ident@user.host ~n:nick!ident@user.host

Everything is the same. You’re just removing the ban. Here’s the way to remove the example ban from above:

/mode #YourChannel -bb ~n:*!*@protectedhost-1234578.hsd1.va.comcast.net 
~q:*!*@protectedhost-1234578.hsd1.va.comcast.net
 

Setting a Channel Extended Ban

There are two other kinds of extended bans:

  • ~c sets an extended ban based on a channel users are in
  • ~r sets an extended ban based on a user’s real name

You are unlikely to need either of these bans, but for the sake of thoroughness here is how they work.

To set an extended channel ban, you’d type:

/mode #YourChannel +b ~c:#channel

That ban would prevent anyone in #channel from joining #YourChannel.

Let’s pretend there’s a channel called #YourChannelHaters. We might decide that we do not want anyone from #YourChannelHaters to join #YourChannel. We could use this extended ban to prevent them from joining #YourChannel:

/mode #YourChannel +b ~c:#YourChannelHaters

You remove this kind of ban by switching to -b, so I could remove the ban on folks from #YourChannelHaters like this:

/mode #YourChannel -b ~c:#YourChannelHaters
 

Setting a Real Name Extended Ban

To set an extended ban based on a user’s real name, you’d type:

/mode #YourChannel +b ~r:*real_name*

The * character works as a wildcard, just as it does in other bans. Use the underscore character ( _ ) to represent spaces in the user’s real name. The underscore is also interpreted as an actual underscore character. In other words, the ban above would block someone using either “real name” (with a space) or “real_name” (with an underscore).

Here’s an example:

/mode #YourChannel +b ~r:*Jane_Doe*

That ban would prevent anyone who was using the real name “Jane Doe” or “Jane_Doe” from joining #YourChannel. Because of the * wildcard, someone with a real name like “Jane Doe rules” or “Jane_Doe_rules” would also be banned.

You remove this kind of ban by switching to -b, so I could remove the ban on “Jane Doe ” like this:

/mode #YourChannel -b ~r:*Jane_Doe*
 

—posted by bunny/tengrrl