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

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

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

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

     +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     - 'Private'.

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

     +a     - 'Anonymous ops'.  This will stop people who join from
              seeing who has ops.  Any modes set in the channel will
              be shown as if a server set them.

              When a user becomes opped or half-opped (+o/+h) they will
              receive an op sync, where the server will op every user
              that is opped.  They will then see modes normally, and
              have the true list of who has ops/half-ops/voices

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


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 stop there being more than LIMIT 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

