
CMODE %|<channel> +|-<modes> [{ <arguments>}]

This command is used to manage the modes of the channel.  Most of the modes require special privileges, such as channel operator or channel founder privileges to work.  The mode is added by adding + before the option(s) and removed by adding - before the option(s).  The (*) mark below means that only founder may set/unset that mode.  Other modes both channel operator and founder may manage.

The following modes are available:

    p               Set/unset channel as private channel
    s               Set/unset channel as secret channel
    k               Enable/disable channel private key usage (*)
    i               Set/unset channel as invite only channel
    t               Set/unset that only channel operator or
                    founder may set channel topic
    m               Set/unset user silencing.  Normal users
                    are not able to talk on channel. (*)
    M               Set/unset operator silencing.  Operators
                    are not able to talk on channel. (*)
    l <limit>       Set/unset channel's user limit
    a <passphrase>  Set/unset passphrase for channel that must
                    be provided when joining to the channel. (*)
    c <cipher>      Set/unset channel's cipher (*)
    h <hmac>        Set/unset channel's hmac (*)
    f [<pubkeyfile> <privkeyfile> [<privkey passphrase>]]
                    Set/unset channel founder authentication. (*)
                    Channel founder may set this mode so that
                    if the client leaves the channel it can
                    claim the founder rights when it returns
                    to the channel, and to set the channel to
                    be permanent channel.  You can claim the
                    founder rights using CUMODE or JOIN commands.

                    If the <pubkeyfile> and <privkeyfile> is
                    provided then the <pubkeyfile> will the used
                    as founder public key, and the private key
                    is used to compute a signature for the SILC
                    server.  If these are omitted then the default
                    SILC keypair is used.  Normally you do not need
                    to provide these arguments.
    C [{[+|-]<pubkeyfile> }]                                (*)
                    Set/unset channel public key mode, and add/remove
                    channel publics key from the channel public key
                    list.  When this mode is set only those users
                    whose public keys has been added to the list are
                    able to join the channel.  Channel founder may set
                    this mode and operate on the channel public key
                    list.

                    To add public key to the list give command:
                    CMODE +C +/path/to/the/public_key_file.pub

                    To remove one public key from the list give
                    command:
                    CMODE +C -/path/to/the/public_key_file.pub

                    To add or remove more than one public keys add as
                    many public key file paths as necessary.

                    When this mode is unset (-C), all public keys are
                    removed from the list.  If +C is given without
                    arguments the current channel public key list is
                    displayed.

Multiple modes can be set/unset at once if the modes does not require any arguments.  If mode requires an argument then only one mode can be set at once.

When the +k (channel private key mode) mode is set the channel's default cipher and HMAC are not used.  The private key (see /HELP KEY for help how to set the private key) defines the cipher and HMAC for the channel while +k mode is set.  Also the +c and +h modes are ignored when channel private key is set.

See also: CUMODE, UMODE, JOIN, KEY

