be provided when joining to the channel.
c <cipher> Set/unset channel's cipher
h <hmac> Set/unset channel's hmac
+ f <-pubkey|<password>
+ 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. If -pubkey is set then
+ the authentication will be done using the
+ client's public key. You can claim the
+ founder rights using the CUMODE command.
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.
- /CUMODE <channel> +|-<modes> <nickname>[@<server>]
+ /CUMODE <channel> +|-<modes> <nickname>[@<server>] [-pubkey|<passwd>]
Changes/set user's mode on a channel. Most of the modes
require that the client who changes some client's mode must
user modes are available:
a <nickname>[@<server>]
+
Set/unset all modes (cannot be used to set
both founder and operator rights, can be used
only to remove both modes at once).
- f <nickname>[@<server>]
- Unset channel founder. Channel founder rights
- cannot be set by user (only by server) so this
- can be used only to unset the mode.
+
+ f <nickname>[@<server>] [-pubkey|<password>]
+
+ Set/Unset channel founder. If the -pubkey
+ option or <password> is provided then the
+ client is claiming the founder rights by
+ providing the channel founder authentication
+ data. If the -pubkey is provided then the
+ authentication is performed using the
+ client's public key. If you are channel
+ founder you can set the channel founder
+ authentication using CMODE command.
+
o <nickname>[@<server>]
+
Set/unset channel operator. Requires that
you are channel operator or channel founder.
/UMODE +|-<modes>
- Sets/unsets user mode. Currently none of the modes can
- be set by the user so this command can be merely used to
- unset some mode. Following user modes are available:
+ Sets/unsets user mode. Note that some of the modes the
+ client cannot set itself. The following user modes are
+ available:
a Unset all modes
s Unset server operator privileges
r Unset router operator privileges
+ g Set/unset to be gone (or use /AWAY command)
+
/MSG <nickname> <message>
specified. If the channel cannot be found then all
channels are listed.
+ /KEY msg|channel <nickname|channel>
+ set|unset|list|agreement|negotiate [<arguments>]
+
+ This command is used to set and unset private keys for
+ channels, set and unset private keys for private messages
+ with remote clients and to send key agreement requests and
+ negotiate the key agreement protocol with remote client.
+ The key agreement is supported only to negotiate private
+ message keys, it currently cannot be used to negotiate
+ private keys for channels, as it is not convenient for that
+ purpose.
+
+ Types:
+
+ msg The command is performed for private messages
+ affecting the <nickname>.
+
+ channel The command is performed for channel affecting
+ the <channel>.
+
+
+ Commands:
+
+ set [<key> [<cipher>] [<hmac>]]
+
+ Set the key into use. If the <key> is provided it
+ is used as the key material. If the <key> is not
+ provided the negotiated key material is used. If
+ the negotiation has not been performed this command
+ has no effect.
+
+ If the type is `msg' and the <key> is `*' then
+ random key will be generated automatically.
+
+ The <cipher> may be set for both private message
+ and channel private keys and the <hmac> may be set
+ only to the channel private keys.
+
+ unset [<number>]
+
+ Unset the key. The private key is not used after
+ this command. The key must be set again or the key
+ material must be re-negotiated to be able to use
+ the private keys again.
+
+ The channel may have several private keys set. The
+ <number> can be used to indicate what key is being
+ unset. If it is not provided all keys are removed.
+
+
+ list List all private keys that has been set.
+
+ If the type is `msg' and the <nickname> is ยด*' then
+ all private message keys that you've set will be
+ listed.
+
+ agreement [<hostname> [<port>]]
+
+ Send key agreement request to remote client. If
+ the <hostname> is provided it is sent in the request.
+ The receiver may use the hostname to start the
+ key agreement. If the <port> is also provided your
+ key agreement protocol server is bound to that
+ port. Note that it cannot be privileged port (<1023).
+ If the <hostname> and <port> is not provided then
+ the receiver will never initiate the key agreement.
+ In this case you must start the key agreement after
+ receiving the reply to the request, by giving the
+ /KEYAGR start command.
+
+ This command may be used to send reply to the
+ remote client. When receiving empty key agreement
+ you can reply to the sender with the hostname and
+ port of your key agreement server with this command.
+
+ negotiate [<hostname> [<port>]]
+
+ This may be called to start the key agreement with
+ <nickname>. This command has effect only if the
+ <nickname> has replied to your key agreement request.
+ You will see a notify on the screen when the reply
+ arrives. The <hostname> and <port> is the hostname
+ and port of the remote client's key agreement
+ server.
+
+ /ME <channel> <action message>
+
+ This command is used to send an action to the channel.
+ This equals to CTCP's ACTION (IRC's /ME) command.
+
+ /NOTICE <channel> <message>
+
+ This command is used to send for example informational
+ notice messages to the channel.
Features
========