Marks
the channel to use anonymous conversations. All conversations, and
people joining/parting are viewed all from
'anonymous!anonymous@anonymous'. Users quitting are seen as users
parting the channel with no reason.

Creates
a ban exception using the given mask. Normally, if someone's identity
fits a channel ban mask, they are banned. If their identity also
matches the ban exception mask, they are allowed not banned (exempt
from the ban)

Locks
the channel with the given password, which must be specified via the
JOIN command to any clients attempting to join the channel when set.
The correct key must be given when turning this mode off.

Limits
the channel to only allow the given number of members to be in the
channel while the mode is set. Nobody else is allowed to join the
channel while the channel membership count is greater than or equal to
the number given with the mode, however some implementations allow IRC
operators to circumvent that rule. Most traditional implementations
accept only a signed integer here (using atoi()), however some more
modern implementations may accept an unsigned integer (i.e. strtoul()),
or even have machine variations on whether a 32-bit or 64-bit integer
is accepted.

Marks
the channel as private. Using this form, +p cannot be set with +s at
the same time. Setting +p while +s is set turns off +s, and vice-versa.
This is widely considered obsolete in favour of the secret mode (+s).

Sets
the channel to be quiet. When set, it restricts what is sent to clients
who are on the channel. Joins, parts, and nick changes are not
broadcast. From the user's point of view, the channel only contains one
user (them).

This
mode is used to prevent a channel from having no operator for an
extended period of time. When set, any channel that has lost all its
channel operators for a certain period of time automatically has some
or all channel members given channel operator status. RFC2811 specifies
this is only available to '!' channels, but some implementations are
reported to use it on other channel types, since they use timestamping
to avoid channel take-overs during network splits.

Marks
the channel as secret. The channel will not appear in channel listings,
the NAMES command will not list nicknames for users who are not channel
members, and the channel will not appear in WHOIS unless WHOIS is
called by a fellow channel member.