MODE <channel> <+|-><modes> [parameters]

=-=-=-=-=-=-=-=-=-=-=
    CHANNELMODES
=-=-=-=-=-=-=-=-=-=-=

    MODE    - DESCRIPTION
------------------------------------------------------------------------

NO PARAMETERS:
--------------

     +c     - 'No control codes'.  Prevent users from sending messages containing
              control codes to the channel

     +n     - 'No external messages'.  This will prevent any user who
              isn't in the channel from sending messages to the channel.

     +t     - 'Ops Topic'.  This will prevent any user who isn't opped,
              or half-opped (+o/+h) from setting a channel topic.

     +s     - 'Secret'.  This will prevent the channel from being shown
              in a /whois, and in the channel list.

     +p     - 'Paranoia'. Controls whether halfops may invite users
              into a channel or whether they may kick other members of a
              channel.

     +m     - 'Moderated'.  This will prevent any user who isn't opped,
              half-opped or voiced (+o/+h/+v) from talking in the channel.

     +i     - 'Invite only'.  This will prevent anyone from joining your
              channel who hasn't received an /invite or whose host isn't in
              the +I list.

     +r     - 'Registered'. Channel has been registered with ChanServ.
              This mode can be set by servers only.

     +C     - 'No CTCPs'. Prevent users from sending CTCPs to the channel.

     +M     - 'Modreg'. Unregistered/unidentified clients cannot send text to
              the channel

     +O     - 'IRCOps only'. This will prevent anyone who hasn't obtained
              IRCOp status from joining your channel. Can be set by an IRCOp
              only.

     +R     - 'Registered only'. Only registered clients may join a channel
              with that mode set

     +S     - 'SSL only'. This will prevent anyone who isn't securely connected
              via SSL/TLS from joining your channel.


WITH PARAMETERS:
----------------

     +k     - 'Key'.  This will require users joining to know the key,
              they must then use /join #channel KEY

              PARAMS: /mode #channel +k key

     +l     - 'Limit'. This will prevent more than LIMIT number of people
              in the channel at any time.

              PARAMS: /mode #channel +l limit

     +v     - 'Voice'.  This will allow a user to talk in a moderated (+m)
              channel.  Shown by the +nick flag.

              PARAMS: /mode #channel +vvvv nick1 nick2 nick3 nick4

     +h     - 'Half-op'.  This will allow a user to set all of the above
              modes, (and some more below..), whilst stopping the user
              from doing harm to the channel.  Users who are +h CANNOT
              kick opped (+o) users, or set modes +h/-h/+o/-o.

              They can perform all other modes, and can kick regular users.

              PARAMS: /mode #channel +hhhh nick1 nick2 nick3 nick4

     +o     - 'Op'.  This gives the user full control over the channel.
              An opped user may op other users, set any mode, and
              remove ops from whoever they want.

              PARAMS: /mode #channel +oooo nick1 nick2 nick3 nick4

     +b     - 'Ban'.  This will prevent a user from entering the channel,
              based on a nick!ident@host match.

              PARAMS: /mode #channel +bbbb n!u@h1b n!u@h2b n!u@h3b n!u@h4

     +e     - 'Exempt'.  This will allow a user to join a channel even if
              they are banned (+b), based on a nick!ident@host match.

              PARAMS: /mode #channel +eeee n!u@h1b n!u@h2b n!u@h3b n!u@h4

     +I     - 'Invite Exempt'.  This will allow a user to join an
              invite-only (+i) channel, based on a nick!user@host match.

              PARAMS: /mode #channel +IIII n!u@h1b n!u@h2b n!u@h3b n!u@h4
