RageIRCd v2.0 (bluemoon): Channel Modes
---------------------------------------

$Id: channel-modes.txt,v 1.6.2.2 2005/03/14 00:49:42 amcwilliam Exp $
(C) 2000-2005 the RageIRCd Development Team, all rights reserved.

This document outlines the various channel modes currently available in 
RageIRCd v2, along with any parameters it may require, as well as syntax. 

The channel modes available can also be seen upon connect in the 004 
numeric, shown below. The first parameter is the server name, the second 
is the server version, the third is user modes (see doc/usermodes.txt), 
the fourth is all the channel modes, and the fifth is channel modes that 
only require parameters.

irc1.localnet.uk rage(bluemoon)-2.0.0.cvs oiwscrRkydegbSaAfDmzNhGpj 
biklmnoprRstvcOAhaSeCNIM bklovhaeI

However, please keep in mind that these modes are only the generic modes. 
From beta-2, server admins have the ability to add both new channel and 
user modes.

Ban: +b <nick!user@host>
------------------------
This mode is used to ban sertain masks from being able to join the 
channel, and the parameter is in the format of nick!user@host, and 
wildcards can be used anywhere. The parameter string can also be specified 
in a number of different formats, which will be automatically converted 
into the correct one. Clients matching ban masks, but who are already on 
the channel, will be restricted from talking or changing nicknames, and 
will not be able to rejoin once parted, or if they are kicked.

  nick                --> nick!*@*
  nick!user           --> nick!user@*
  nick!user@host.tld  --> nick!user@host.tld
  user@host.tld       --> *!user@host.tld
  host.tld            --> *!*@host.tld

Exception: +e <nick!user@host>
------------------------------
This mode is used to set 'ban exceptions', where by clients who match a 
ban mask, but who also match an except mask are allowed to join the 
channel. As with the ban parameter, the format is nick!user@host, and 
whildcards can be used anywhere within it. Again, as with the above ban 
mode, the parameter can be supplied in a number of different formats, 
which will be automatically converted into the correct one - see above. 
This mode also allows them to send messages to the channel, and to change 
their nickname, despite being banned.

Invex: +I <nick!user@host>
--------------------------
This mode is used to set channel invites, where by clients who match
an invex mask can join the channel as normal if it is set to Invite
Only (+i), without a channel operator having to manually /INVITE them
back each time they part and attempt to rejoin. As with the ban and
exception parameter, the parameter format is nick!user@host, and
wildcards can be used anywhere within the string. The parameter can
also be specified in a number of different formats, which will be
automatically converted to the standard nick!user@host format by the
server - see above.

Invite Only: +i
---------------
This mode will prevent all users from joining the channel, accept those 
who are invited, using the INVITE command. Once a channel operator has 
performed an INVITE, the target client will be allowed to join the channel 
once only. Upon joining, the invite reference is removed. If they wish to 
join the channel again, they will have to be invited once again.

Key: +k <key>
-------------
This mode will prevent all users from joining the channel, accept those 
who specify the correct key as a second JOIN parameter, essentially 
'locking' the channel.

User Limit: +l <number>
-----------------------
This mode will restrict how many users are allowed in the channel at any 
one time. All users are free to join and part as normal, accept when 
<number> users is reached. At this point, clients will be prevented from 
joining the channel until somone parts (therefore user limit decreasing), 
or if the limit is either increased or removed.

Moderated: +m
-------------
When this mode is set, no clients on the channel may send messages to the 
channel unless they are either a channel administrator, operator, half 
operator or a voiced user.

No External Messages: +n
------------------------
This mode means that clients must be in the channel in order to send 
messages to it.

Channel Administrator: +a <nickname>
------------------------------------
This defines channel administrators. Chanadmins are protected, and can 
only be kicked and their status cannot be changed by anyone accept other 
chanadmins, network administrators and U:lined clients (ie, services). 
Chanadmins can also send messages/change nicks through +m and bans, 
regardless of exceptions, without a voice.

Channel Operator: +o <nickname>
-------------------------------
This defines channel operators. Chanops can change all channel modes, set 
bans and exceptions, and can set other chanops/halfops/voiced users, but 
they cannot set chanadmins. Chanops can also kick all clients accept 
chanadmins, change channel topics, and invite other users. Chanops can 
also send messages/change nicks through +m and bans, regardless of 
exceptions, without a voice.

Channel Half-Operator: +h <nickname>
------------------------------------
This defines channel half operators. Halfops can change chanmodes 
inpstvchSCN, kick non-chanop/halfop users, change channel topics and 
invite users. Halfops can also send messages/change nicks through +m and 
bans, regardless of exceptions, without a voice.

Voiced Users: +v <nickname>
---------------------------
This defines voiced clients. Voices allow clients to send messages through 
+m and bans, regardless of exceptions.

Private: +p
-----------
The behaviour of this mode has changed in RageIRCd v2. Private channels 
are obsolete, and this mode now disallows KNOCKs on the channel. This mode 
can now be set as well as +s too.

Registered: +r
--------------
This mode can only be set by servers (ie, services), and identifies the 
channel as being registered with services.

Registered Only: +R
-------------------
This mode restricts all clients from joining the channel if their nickname 
is not regsitered with services (or to be more exact, if they have not 
identified for the nickname).

Secret: +s
----------
This means the channel will not appear on the channel list (/LIST) of 
normal users and opers. However, Service Admins will still be able to see 
it.

Topic Limit: +t
---------------
This means that the channel topic can only be modified by privileged 
users (ie, chanops/halfops).

No Colour: +c
-------------
This mode restricts the use of colour on the channel. All messages 
containing colour characters will be blocked. This mode has also been 
extended to block PART and QUIT messages containing colour. If a PART 
message contains colour, it will simply be removed. If a QUIT message 
contains colour, the client will appear, in the channel, to PART instead.

Opers Only: +O
--------------
This mode restricts access to the channel from all non-opers, and is only 
settable by opers.

Admins Only: +A
---------------
This mode restricts access to the channel from all non-admins (which 
includes opers), and is only settable by admins.

No CTCP: +C
-----------
This mode will block all mass CTCP's to the channel (ie, /ctcp #channel 
ping), useful for protecting the channel against CTCP attacks.

No Nickname Changes: +N
-----------------------
This means that users cannot change their nickname whilst on the channel. 
If they want to change their nickname, they will have to part the channel 
before hand. This is similar to the behaviour of bans, accept they can 
still rejoin the channel (accept if there are other restrictions, of 
course).

Moderated Reg-Only: +M
----------------------
This mode is similar to the standard moderated (+m) channel mode, accept 
that it only blocks messages from users that do not have a registered 
nickname (i.e. usermode +r). Does not apply to users who have +v (voiced) 
or above.

End of document.
