//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
[[command_irc_admin]]
* `+admin+`: find information about the administrator of the server

----
/admin  [<target>]

target: server name
----

[[command_irc_allchan]]
* `+allchan+`: execute a command on all channels of all connected servers

----
/allchan  [-current] [-exclude=<channel>[,<channel>...]] <command> [<arguments>]
          [-current] -include=<channel>[,<channel>...] <command> [<arguments>]

 -current: execute command for channels of current server only
 -exclude: exclude some channels (wildcard "*" is allowed)
 -include: include only some channels (wildcard "*" is allowed)
  command: command to execute
arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)

Examples:
  execute '/me is testing' on all channels:
    /allchan me is testing
  say 'hello' everywhere but not on #weechat:
    /allchan -exclude=#weechat msg * hello
  say 'hello' everywhere but not on #weechat and channels beginning with #linux:
    /allchan -exclude=#weechat,#linux* msg * hello
  say 'hello' on all channels beginning with #linux:
    /allchan -include=#linux* msg * hello
----

[[command_irc_allpv]]
* `+allpv+`: execute a command on all private buffers of all connected servers

----
/allpv  [-current] [-exclude=<nick>[,<nick>...]] <command> [<arguments>]
        [-current] -include=<nick>[,<nick>...] <command> [<arguments>]

 -current: execute command for private buffers of current server only
 -exclude: exclude some nicks (wildcard "*" is allowed)
 -include: include only some nicks (wildcard "*" is allowed)
  command: command to execute
arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)

Examples:
  execute '/me is testing' on all private buffers:
    /allpv me is testing
  say 'hello' everywhere but not for nick foo:
    /allpv -exclude=foo msg * hello
  say 'hello' everywhere but not for nick foo and nicks beginning with bar:
    /allpv -exclude=foo,bar* msg * hello
  say 'hello' for all nicks beginning with bar:
    /allpv -include=bar* msg * hello
  close all private buffers:
    /allpv close
----

[[command_irc_allserv]]
* `+allserv+`: execute a command on all connected servers

----
/allserv  [-exclude=<server>[,<server>...]] <command> [<arguments>]
          -include=<server>[,<server>...] <command> [<arguments>]

 -exclude: exclude some servers (wildcard "*" is allowed)
 -include: include only some servers (wildcard "*" is allowed)
  command: command to execute
arguments: arguments for command (special variables $nick, $channel and $server are replaced by their value)

Examples:
  change nick on all servers:
    /allserv nick newnick
  set away on all servers:
    /allserv away I'm away
  do a whois on my nick on all servers:
    /allserv whois $nick
----

[[command_irc_ban]]
* `+ban+`: ban nicks or hosts

----
/ban  [<channel>] [<nick> [<nick>...]]

channel: channel name
   nick: nick or host

Without argument, this command displays the ban list for current channel.
----

[[command_irc_cap]]
* `+cap+`: client capability negotiation

----
/cap  ls
      list
      req|ack [<capability> [<capability>...]]
      end

   ls: list the capabilities supported by the server
 list: list the capabilities currently enabled
  req: request a capability
  ack: acknowledge capabilities which require client-side acknowledgement
  end: end the capability negotiation

Without argument, "ls" and "list" are sent.

Capabilities supported by WeeChat are: account-notify, away-notify, cap-notify, chghost, extended-join, invite-notify, multi-prefix, server-time, userhost-in-names.

The capabilities to automatically enable on servers can be set in option irc.server_default.capabilities (or by server in option irc.server.xxx.capabilities).

Examples:
   /cap
   /cap req multi-prefix away-notify
----

[[command_irc_connect]]
* `+connect+`: connect to IRC server(s)

----
/connect  [<server> [<server>...]] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
          -all|-auto|-open [-nojoin] [-switch]

    server: server name, which can be:
            - internal server name (added by /server add, recommended usage)
            - hostname/port or IP/port, port is 6667 by default
            - URL with format: irc[6][s]://[nickname[:password]@]irc.example.org[:port][/#channel1][,#channel2[...]]
            Note: for an address/IP/URL, a temporary server is added (NOT SAVED), see /help irc.look.temporary_servers
    option: set option for server (for boolean option, value can be omitted)
  nooption: set boolean option to 'off' (for example: -nossl)
      -all: connect to all servers defined in configuration
     -auto: connect to servers with autoconnect enabled
     -open: connect to all opened servers that are not currently connected
   -nojoin: do not join any channel (even if autojoin is enabled on server)
   -switch: switch to next server address

To disconnect from a server or stop any connection attempt, use command /disconnect.

Examples:
  /connect freenode
  /connect irc.oftc.net/6667
  /connect irc6.oftc.net/6667 -ipv6
  /connect irc6.oftc.net/6697 -ipv6 -ssl
  /connect my.server.org/6697 -ssl -password=test
  /connect irc://nick@irc.oftc.net/#channel
  /connect -switch
----

[[command_irc_ctcp]]
* `+ctcp+`: send a CTCP message (Client-To-Client Protocol)

----
/ctcp  [-server <server>] <target>[,<target>...] <type> [<arguments>]

   server: send to this server (internal name)
   target: nick or channel ('*' = current channel)
     type: CTCP type (examples: "version", "ping", etc.)
arguments: arguments for CTCP

Examples:
  /ctcp toto time
  /ctcp toto version
  /ctcp * version
----

[[command_irc_cycle]]
* `+cycle+`: leave and rejoin a channel

----
/cycle  [<channel>[,<channel>...]] [<message>]

channel: channel name
message: part message (displayed to other users)
----

[[command_irc_dcc]]
* `+dcc+`: start a DCC (file transfer or direct chat)

----
/dcc  chat <nick>
      send <nick> <file>

nick: nick
file: filename (on local host)

Examples:
  chat with nick "toto":
    /dcc chat toto
  send file "/home/foo/bar.txt" to nick "toto":
    /dcc send toto /home/foo/bar.txt
----

[[command_irc_dehalfop]]
* `+dehalfop+`: remove channel half-operator status from nick(s)

----
/dehalfop  <nick> [<nick>...]

nick: nick or mask (wildcard "*" is allowed)
   *: remove channel half-operator status from everybody on channel except yourself
----

[[command_irc_deop]]
* `+deop+`: remove channel operator status from nick(s)

----
/deop  <nick> [<nick>...]
       * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: remove channel operator status from everybody on channel except yourself
----

[[command_irc_devoice]]
* `+devoice+`: remove voice from nick(s)

----
/devoice  <nick> [<nick>...]
          * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: remove voice from everybody on channel
----

[[command_irc_die]]
* `+die+`: shutdown the server

----
/die  [<target>]

target: server name
----

[[command_irc_disconnect]]
* `+disconnect+`: disconnect from one or all IRC servers

----
/disconnect  [<server>|-all|-pending [<reason>]]

  server: internal server name
    -all: disconnect from all servers
-pending: cancel auto-reconnection on servers currently reconnecting
  reason: reason for the "quit"
----

[[command_irc_halfop]]
* `+halfop+`: give channel half-operator status to nick(s)

----
/halfop  <nick> [<nick>...]
         * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: give channel half-operator status to everybody on channel
----

[[command_irc_ignore]]
* `+ignore+`: ignore nicks/hosts from servers or channels

----
/ignore  list
         add [re:]<nick> [<server> [<channel>]]
         del <number>|-all

     list: list all ignores
      add: add an ignore
     nick: nick or hostname (can be a POSIX extended regular expression if "re:" is given or a mask using "*" to replace zero or more chars)
      del: delete an ignore
   number: number of ignore to delete (look at list to find it)
     -all: delete all ignores
   server: internal server name where ignore is working
  channel: channel name where ignore is working

Note: the regular expression can start with "(?-i)" to become case sensitive.

Examples:
  ignore nick "toto" everywhere:
    /ignore add toto
  ignore host "toto@domain.com" on freenode server:
    /ignore add toto@domain.com freenode
  ignore host "toto*@*.domain.com" on freenode/#weechat:
    /ignore add toto*@*.domain.com freenode #weechat
----

[[command_irc_info]]
* `+info+`: get information describing the server

----
/info  [<target>]

target: server name
----

[[command_irc_invite]]
* `+invite+`: invite a nick on a channel

----
/invite  <nick> [<nick>...] [<channel>]

   nick: nick
channel: channel name
----

[[command_irc_ison]]
* `+ison+`: check if a nick is currently on IRC

----
/ison  <nick> [<nick>...]

nick: nick
----

[[command_irc_join]]
* `+join+`: join a channel

----
/join  [-noswitch] [-server <server>] [<channel1>[,<channel2>...]] [<key1>[,<key2>...]]

-noswitch: do not switch to new buffer
   server: send to this server (internal name)
  channel: channel name to join
      key: key to join the channel (channels with a key must be the first in list)

Examples:
  /join #weechat
  /join #protectedchan,#weechat key
  /join -server freenode #weechat
  /join -noswitch #weechat
----

[[command_irc_kick]]
* `+kick+`: kick a user out of a channel

----
/kick  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (special variables $nick, $channel and $server are replaced by their value)
----

[[command_irc_kickban]]
* `+kickban+`: kick a user out of a channel and ban the host

----
/kickban  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (special variables $nick, $channel and $server are replaced by their value)

It is possible to kick/ban with a mask, nick will be extracted from mask and replaced by "*".

Example:
  ban "*!*@host.com" and then kick "toto":
    /kickban toto!*@host.com
----

[[command_irc_kill]]
* `+kill+`: close client-server connection

----
/kill  <nick> [<reason>]

  nick: nick
reason: reason
----

[[command_irc_links]]
* `+links+`: list all server names which are known by the server answering the query

----
/links  [[<target>] <server_mask>]

     target: this remote server should answer the query
server_mask: list of servers must match this mask
----

[[command_irc_list]]
* `+list+`: list channels and their topic

----
/list  [-server <server>] [-re <regex>] [<channel>[,<channel>...]] [<target>]

 server: send to this server (internal name)
  regex: POSIX extended regular expression used to filter results (case insensitive, can start by "(?-i)" to become case sensitive)
channel: channel to list
 target: server name

Examples:
  list all channels on server (can be very slow on large networks):
    /list
  list channel #weechat:
    /list #weechat
  list all channels beginning with "#weechat" (can be very slow on large networks):
    /list -re #weechat.*
----

[[command_irc_lusers]]
* `+lusers+`: get statistics about the size of the IRC network

----
/lusers  [<mask> [<target>]]

  mask: servers matching the mask only
target: server for forwarding request
----

[[command_irc_map]]
* `+map+`: show a graphical map of the IRC network

----
----

[[command_irc_me]]
* `+me+`: send a CTCP action to the current channel

----
/me  <message>

message: message to send
----

[[command_irc_mode]]
* `+mode+`: change channel or user mode

----
/mode  [<channel>] [+|-]o|p|s|i|t|n|m|l|b|e|v|k [<arguments>]
       <nick> [+|-]i|s|w|o

channel modes:
  channel: channel name to modify (default is current one)
  o: give/take channel operator privileges
  p: private channel flag
  s: secret channel flag
  i: invite-only channel flag
  t: topic settable by channel operator only flag
  n: no messages to channel from clients on the outside
  m: moderated channel
  l: set the user limit to channel
  b: set a ban mask to keep users out
  e: set exception mask
  v: give/take the ability to speak on a moderated channel
  k: set a channel key (password)
user modes:
  nick: nick to modify
  i: mark a user as invisible
  s: mark a user for receive server notices
  w: user receives wallops
  o: operator flag

List of modes is not comprehensive, you should read documentation about your server to see all possible modes.

Examples:
  protect topic on channel #weechat:
    /mode #weechat +t
  become invisible on server:
    /mode nick +i
----

[[command_irc_motd]]
* `+motd+`: get the "Message Of The Day"

----
/motd  [<target>]

target: server name
----

[[command_irc_msg]]
* `+msg+`: send message to a nick or channel

----
/msg  [-server <server>] <target>[,<target>...] <text>

server: send to this server (internal name)
target: nick or channel (may be mask, '*' = current channel)
  text: text to send
----

[[command_irc_names]]
* `+names+`: list nicks on channels

----
/names  [<channel>[,<channel>...]]

channel: channel name
----

[[command_irc_nick]]
* `+nick+`: change current nick

----
/nick  [-all] <nick>

-all: set new nick for all connected servers
nick: new nick
----

[[command_irc_notice]]
* `+notice+`: send notice message to user

----
/notice  [-server <server>] <target> <text>

server: send to this server (internal name)
target: nick or channel name
  text: text to send
----

[[command_irc_notify]]
* `+notify+`: add a notification for presence or away status of nicks on servers

----
/notify  add <nick> [<server> [-away]]
         del <nick>|-all [<server>]

   add: add a notification
  nick: nick
server: internal server name (by default current server)
 -away: notify when away message is changed (by doing whois on nick)
   del: delete a notification
  -all: delete all notifications

Without argument, this command displays notifications for current server (or all servers if command is issued on core buffer).

Examples:
  notify when "toto" joins/quits current server:
    /notify add toto
  notify when "toto" joins/quits freenode server:
    /notify add toto freenode
  notify when "toto" is away or back on freenode server:
    /notify add toto freenode -away
----

[[command_irc_op]]
* `+op+`: give channel operator status to nick(s)

----
/op  <nick> [<nick>...]
     * -yes

nick: nick or mask (wildcard "*" is allowed)
   *: give channel operator status to everybody on channel
----

[[command_irc_oper]]
* `+oper+`: get operator privileges

----
/oper  <user> <password>

    user: user
password: password
----

[[command_irc_part]]
* `+part+`: leave a channel

----
/part  [<channel>[,<channel>...]] [<message>]

channel: channel name to leave
message: part message (displayed to other users)
----

[[command_irc_ping]]
* `+ping+`: send a ping to server

----
/ping  <target1> [<target2>]

target1: server
target2: forward ping to this server
----

[[command_irc_pong]]
* `+pong+`: answer to a ping message

----
/pong  <daemon> [<daemon2>]

 daemon: daemon who has responded to Ping message
daemon2: forward message to this daemon
----

[[command_irc_query]]
* `+query+`: send a private message to a nick

----
/query  [-noswitch] [-server <server>] <nick>[,<nick>...] [<text>]

-noswitch: do not switch to new buffer
   server: send to this server (internal name)
     nick: nick
     text: text to send
----

[[command_irc_quiet]]
* `+quiet+`: quiet nicks or hosts

----
/quiet  [<channel>] [<nick> [<nick>...]]

channel: channel name
   nick: nick or host

Without argument, this command displays the quiet list for current channel.
----

[[command_irc_quote]]
* `+quote+`: send raw data to server without parsing

----
/quote  [-server <server>] <data>

server: send to this server (internal name)
  data: raw data to send
----

[[command_irc_reconnect]]
* `+reconnect+`: reconnect to server(s)

----
/reconnect  <server> [<server>...] [-nojoin] [-switch]
            -all [-nojoin] [-switch]

 server: server to reconnect (internal name)
   -all: reconnect to all servers
-nojoin: do not join any channel (even if autojoin is enabled on server)
-switch: switch to next server address
----

[[command_irc_rehash]]
* `+rehash+`: tell the server to reload its config file

----
/rehash  [<option>]

option: extra option, for some servers
----

[[command_irc_remove]]
* `+remove+`: force a user to leave a channel

----
/remove  [<channel>] <nick> [<reason>]

channel: channel name
   nick: nick
 reason: reason (special variables $nick, $channel and $server are replaced by their value)
----

[[command_irc_restart]]
* `+restart+`: tell the server to restart itself

----
/restart  [<target>]

target: server name
----

[[command_irc_sajoin]]
* `+sajoin+`: force a user to join channel(s)

----
/sajoin  <nick> <channel>[,<channel>...]

   nick: nick
channel: channel name
----

[[command_irc_samode]]
* `+samode+`: change mode on channel, without having operator status

----
/samode  [<channel>] <mode>

channel: channel name
   mode: mode for channel
----

[[command_irc_sanick]]
* `+sanick+`: force a user to use another nick

----
/sanick  <nick> <new_nick>

    nick: nick
new_nick: new nick
----

[[command_irc_sapart]]
* `+sapart+`: force a user to leave channel(s)

----
/sapart  <nick> <channel>[,<channel>...]

   nick: nick
channel: channel name
----

[[command_irc_saquit]]
* `+saquit+`: force a user to quit server with a reason

----
/saquit  <nick> <reason>

  nick: nick
reason: reason
----

[[command_irc_server]]
* `+server+`: list, add or remove IRC servers

----
/server  list|listfull [<name>]
         add <name> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
         copy|rename <name> <new_name>
         reorder <name> [<name>...]
         open <name>|-all [<name>...]
         del|keep <name>
         deloutq|jump
         raw [<filter>]

    list: list servers (without argument, this list is displayed)
listfull: list servers with detailed info for each server
     add: add a new server
    name: server name, for internal and display use; this name is used to connect to the server (/connect name) and to set server options: irc.server.name.xxx
hostname: name or IP address of server, with optional port (default: 6667), many addresses can be separated by a comma
   -temp: add a temporary server (not saved)
  option: set option for server (for boolean option, value can be omitted)
nooption: set boolean option to 'off' (for example: -nossl)
    copy: duplicate a server
  rename: rename a server
 reorder: reorder list of servers
    open: open the server buffer without connecting
    keep: keep server in config file (for temporary servers only)
     del: delete a server
 deloutq: delete messages out queue for all servers (all messages WeeChat is currently sending)
    jump: jump to server buffer
     raw: open buffer with raw IRC data
  filter: set a new filter to see only matching messages (this filter can be used as input in raw IRC data buffer as well); allowed formats are:
            *       show all messages (no filter)
            xxx     show only messages containing "xxx"
            s:xxx   show only messages for server "xxx"
            f:xxx   show only messages with a flag: recv (message received), sent (message sent), modified (message modified by a modifier), redirected (message redirected)
            m:xxx   show only IRC command "xxx"
            c:xxx   show only messages matching the evaluated condition "xxx", using following variables: output of function irc_message_parse (like nick, command, channel, text, etc., see function info_get_hashtable in plugin API reference for the list of all variables), date (format: "yyyy-mm-dd hh:mm:ss"), server, recv, sent, modified, redirected

Examples:
  /server listfull
  /server add freenode chat.freenode.net
  /server add freenode chat.freenode.net/6697 -ssl -autoconnect
  /server add chatspike irc.chatspike.net/6667,irc.duckspike.net/6667
  /server copy freenode freenode-test
  /server rename freenode-test freenode2
  /server reorder freenode2 freenode
  /server del freenode
  /server deloutq
  /server raw
  /server raw s:freenode
  /server raw c:${recv} && ${command}==PRIVMSG && ${nick}==foo
----

[[command_irc_service]]
* `+service+`: register a new service

----
/service  <nick> <reserved> <distribution> <type> <reserved> <info>

distribution: visibility of service
        type: reserved for future usage
----

[[command_irc_servlist]]
* `+servlist+`: list services currently connected to the network

----
/servlist  [<mask> [<type>]]

mask: list only services matching this mask
type: list only services of this type
----

[[command_irc_squery]]
* `+squery+`: deliver a message to a service

----
/squery  <service> <text>

service: name of service
   text: text to send
----

[[command_irc_squit]]
* `+squit+`: disconnect server links

----
/squit  <target> <comment>

 target: server name
comment: comment
----

[[command_irc_stats]]
* `+stats+`: query statistics about server

----
/stats  [<query> [<target>]]

 query: c/h/i/k/l/m/o/y/u (see RFC1459)
target: server name
----

[[command_irc_summon]]
* `+summon+`: give users who are on a host running an IRC server a message asking them to please join IRC

----
/summon  <user> [<target> [<channel>]]

   user: username
 target: server name
channel: channel name
----

[[command_irc_time]]
* `+time+`: query local time from server

----
/time  [<target>]

target: query time from specified server
----

[[command_irc_topic]]
* `+topic+`: get/set channel topic

----
/topic  [<channel>] [<topic>|-delete]

channel: channel name
  topic: new topic
-delete: delete channel topic
----

[[command_irc_trace]]
* `+trace+`: find the route to specific server

----
/trace  [<target>]

target: server name
----

[[command_irc_unban]]
* `+unban+`: unban nicks or hosts

----
/unban  [<channel>] <nick>|<number> [<nick>|<number>...]

channel: channel name
   nick: nick or host
 number: ban number (as displayed by command /ban)
----

[[command_irc_unquiet]]
* `+unquiet+`: unquiet nicks or hosts

----
/unquiet  [<channel>] <nick>|<number> [<nick>|<number>...]

channel: channel name
   nick: nick or host
 number: quiet number (as displayed by command /quiet)
----

[[command_irc_userhost]]
* `+userhost+`: return a list of information about nicks

----
/userhost  <nick> [<nick>...]

nick: nick
----

[[command_irc_users]]
* `+users+`: list of users logged into the server

----
/users  [<target>]

target: server name
----

[[command_irc_version]]
* `+version+`: give the version info of nick or server (current or specified)

----
/version  [<target>|<nick>]

target: server name
  nick: nick
----

[[command_irc_voice]]
* `+voice+`: give voice to nick(s)

----
/voice  <nick> [<nick>...]

nick: nick or mask (wildcard "*" is allowed)
   *: give voice to everybody on channel
----

[[command_irc_wallchops]]
* `+wallchops+`: send a notice to channel ops

----
/wallchops  [<channel>] <text>

channel: channel name
   text: text to send
----

[[command_irc_wallops]]
* `+wallops+`: send a message to all currently connected users who have set the 'w' user mode for themselves

----
/wallops  <text>

text: text to send
----

[[command_irc_who]]
* `+who+`: generate a query which returns a list of information

----
/who  [<mask> [o]]

mask: only information which match this mask
   o: only operators are returned according to the mask supplied
----

[[command_irc_whois]]
* `+whois+`: query information about user(s)

----
/whois  [<target>] [<nick>[,<nick>...]]

target: server name
  nick: nick (may be a mask)

Without argument, this command will do a whois on:
- your own nick if buffer is a server/channel
- remote nick if buffer is a private.

If option irc.network.whois_double_nick is enabled, two nicks are sent (if only one nick is given), to get idle time in answer.
----

[[command_irc_whowas]]
* `+whowas+`: ask for information about a nick which no longer exists

----
/whowas  <nick>[,<nick>...] [<count> [<target>]]

  nick: nick
 count: number of replies to return (full search if negative number)
target: reply should match this mask
----
