538 lines
14 KiB
Plaintext
538 lines
14 KiB
Plaintext
|
|
ngIRCd - Next Generation IRC Server
|
|
http://ngircd.barton.de/
|
|
|
|
(c)2001-2013 Alexander Barton and Contributors.
|
|
ngIRCd is free software and published under the
|
|
terms of the GNU General Public License.
|
|
|
|
-- Commands.txt --
|
|
|
|
|
|
This file lists all commands available on ngIRCd. It is written in a format
|
|
that is human readable as well as machine parseable and therefore can be used
|
|
as "help text file" of the daemon.
|
|
|
|
In short, the daemon reads this file on startup and parses it as following
|
|
when an user issues a "HELP <cmd>" command:
|
|
|
|
1. Search the file for a line "- <cmd>",
|
|
2. Output all subsequent lines that start with a TAB (ASCII 9) character
|
|
to the client using NOTICE commands, treat lines containing a single "."
|
|
after the TAB as empty lines.
|
|
3. Break at the first line not starting with a TAB character.
|
|
|
|
This format allows to have information to each command stored in this file
|
|
which will not be sent to an IRC user requesting help which enables us to
|
|
have additional annotations stored here which further describe the origin,
|
|
implementation details, or limits of the specific command which are not
|
|
relevant to an end-user but administrators and developers.
|
|
|
|
A special "Intro" block is returned to the user when the HELP command is
|
|
used without a command name:
|
|
|
|
|
|
- Intro
|
|
This is ngIRCd, a server software for Internet Relay Chat (IRC)
|
|
networks. You can find more information about ngIRCd on its homepage:
|
|
<http://ngircd.barton.de>
|
|
.
|
|
Use "HELP COMMANDS" to get a list of all available commands and
|
|
"HELP <command-name>" to get help for a specific IRC command, for
|
|
example "HELP quit" or "HELP privmsg".
|
|
|
|
|
|
Connection Handling Commands
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- CAP
|
|
CAP LS
|
|
CAP LIST
|
|
CAP REQ <capabilities>
|
|
CAP ACK <capabilities>
|
|
CAP NAK <capabilities>
|
|
CAP CLEAR
|
|
CAP END
|
|
.
|
|
List, request, and clear "IRC Capabilities".
|
|
.
|
|
Using this command, an IRC client can request additional "IRC
|
|
capabilities" during login or later on, which influences the
|
|
communication between server and client. Normally, these commands
|
|
aren't directly used by humans, but automatically by their client
|
|
software. And please note that issuing such commands manually can
|
|
irritate the client software used, because of the "non-standard"
|
|
behavior of the server!
|
|
.
|
|
- CAP LS: list all available capabilities.
|
|
- CAP LIST: list active capabilities of this connection.
|
|
- CAP REQ: Request particular capabilities.
|
|
- CAP ACK: Acknowledge a set of capabilities to be enabled/disabled.
|
|
- CAP NAK: Reject a set of capabilities.
|
|
- CAP CLEAR: Clear all set capabilities.
|
|
- CAP END: Indicate end of capability negotiation during login,
|
|
ignored in an fully registered session.
|
|
|
|
Please note that the <capabilities> must be given in a single
|
|
parameter but whitespace separated, therefore a command could look
|
|
like this: "CAP REQ :capability1 capability2 capability3" for example.
|
|
|
|
References:
|
|
- <http://ircv3.atheme.org/specification/capability-negotiation-3.1>
|
|
- <http://ngircd.barton.de/doc/Capabilities.txt>
|
|
- doc/Capabilities.txt
|
|
|
|
- CHARCONV
|
|
CHARCONV <client-charset>
|
|
.
|
|
Set client character set encoding to <client-charset>.
|
|
.
|
|
After receiving such a command, the server translates all message
|
|
data received from the client using the set <client-charset> to the
|
|
server encoding (UTF-8), and all message data which is to be sent to
|
|
the client from the server encoding (UTF-8) to <client-charset>.
|
|
.
|
|
This enables older clients and clients using "strange" character sets
|
|
to transparently participate in channels and direct messages to
|
|
clients using UTF-8, which should be the default today.
|
|
|
|
References:
|
|
- <http://ngircd.barton.de/doc/Protocol.txt>
|
|
- doc/Protocol.txt
|
|
|
|
- NICK
|
|
NICK <nick>
|
|
.
|
|
Change your nickname to <nick>.
|
|
|
|
- PASS
|
|
PASS <password> <version> <flags> [<options>]
|
|
.
|
|
Set a connection <password>. This command must be sent before the
|
|
NICK/USER registration combination.
|
|
.
|
|
See doc/Protocol.txt for more info.
|
|
|
|
- PING
|
|
PING <server1> [<server2>]
|
|
.
|
|
Tests the presence of a connection. A PING message results in a PONG
|
|
reply. If <server2> is specified, the message gets passed on to it.
|
|
|
|
- PONG
|
|
PONG <server1> [<server2>]
|
|
.
|
|
This command is a reply to the PING command and works in much the
|
|
same way.
|
|
|
|
- QUIT
|
|
QUIT [<quit-message>]
|
|
.
|
|
End IRC session and disconnect from the server.
|
|
.
|
|
If a <quit-message> has been given, it is displayed to all the
|
|
channels that you are a member of when leaving.
|
|
|
|
- USER
|
|
USER <user> <modes> <realname>
|
|
.
|
|
This command is used at the beginning of a connection to specify the
|
|
<user>name, hostname, <realname> and initial user <modes> of the
|
|
connecting client.
|
|
.
|
|
<realname> may contain spaces, and thus must be prefixed with a colon.
|
|
|
|
- WEBIRC
|
|
See doc/Protocol.txt
|
|
|
|
|
|
General Commands
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
- AWAY
|
|
AWAY [<message>]
|
|
.
|
|
Provides the server with a message to automatically send in reply to a
|
|
PRIVMSG directed at the user, but not to a channel they are on.
|
|
.
|
|
If <message> is omitted, the away status is removed.
|
|
|
|
- HELP
|
|
HELP [<command>]
|
|
.
|
|
Show help information for a specific IRC <command>. The <command> name
|
|
is case-insensitive.
|
|
.
|
|
Use the command "HELP Commands" to get a list of all available commands.
|
|
|
|
The HELP command isn't specified by any RFC but implemented by most
|
|
daemons. If no help text could be read in, ngIRCd outputs a list of all
|
|
implemented commands when receiving a plain "HELP" command as well as
|
|
on "HELP Commands".
|
|
|
|
ngIRCd replies using "NOTICE" commands like ircd 2.10/2.11; other
|
|
implementations are using numerics 704, 705, and 706.
|
|
|
|
|
|
- MODE
|
|
MODE <nickname> <flags> (user)
|
|
MODE <channel> <flags> [<args>]
|
|
.
|
|
The MODE command is dual-purpose. It can be used to set both (user) and
|
|
<channel> modes.
|
|
.
|
|
See doc/Modes.txt for more information.
|
|
|
|
- NOTICE
|
|
NOTICE <target> <notice>
|
|
.
|
|
Send <notice> to <target> (nick or channel).
|
|
.
|
|
This command works similarly to PRIVMSG, except automatic replies must
|
|
never be sent in reply to NOTICE messages.
|
|
|
|
- PRIVMSG
|
|
PRIVMSG <target> <message>
|
|
.
|
|
Send <message> to <target> (nick or channel).
|
|
.
|
|
Common IRC clients use MSG as PRIVMSG alias.
|
|
(Some clients use "QUERY <nick> [<message>]" to open a private chat.)
|
|
|
|
|
|
Status and Informational Commands
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- ADMIN
|
|
ADMIN [<target>]
|
|
.
|
|
Show administrative information about an IRC server in the network.
|
|
.
|
|
<target> can be a server name, the nickname of a client connected to
|
|
a specific server, or a mask matching a server name in the network.
|
|
The server of the current connecion is used when <target> is omitted.
|
|
|
|
References:
|
|
- RFC 2812, 3.4.9 "Admin command"
|
|
|
|
- INFO
|
|
INFO [<target>]
|
|
.
|
|
Show the version, birth & online time of an IRC server in the network.
|
|
.
|
|
<target> can be a server name, the nickname of a client connected to
|
|
a specific server, or a mask matching a server name in the network.
|
|
The server of the current connecion is used when <target> is omitted.
|
|
|
|
References:
|
|
- RFC 2812, 3.4.10 "Info command"
|
|
|
|
- ISON
|
|
ISON <nickname> [<nickname> [...]]
|
|
.
|
|
Query online status of a list of nicknames. The server replies with
|
|
a list only containing nicknes actually connected to a server in
|
|
the network. If no nicknames of the given list are online, an empty
|
|
list is returned to the client requesting the information.
|
|
|
|
Please note that "all" IRC daemons even parse separate nicknames in
|
|
a single parameter (like ":nick1 nick2"), and therefore ngIRCd
|
|
implements this behaviour, too.
|
|
|
|
References:
|
|
- RFC 2812, 4.9 "Ison message"
|
|
|
|
- LINKS
|
|
LINKS [[<target>] [<mask>]
|
|
.
|
|
List all servers currently registered in the network matching <mask>,
|
|
or all servers if <mask> has been omitted, as seen by the server
|
|
specified by <target> or the local server when <target> is omitted.
|
|
.
|
|
<target> can be a server name, the nickname of a client connected to
|
|
a specific server, or a mask matching a server name in the network.
|
|
|
|
References:
|
|
- RFC 2812, 3.4.5 "Links message"
|
|
|
|
- LUSERS
|
|
LUSERS [<mask> [<target>]]
|
|
.
|
|
Return statistics about the number of clients (users, servers,
|
|
services, ...) in the network as seen by the server <target>.
|
|
.
|
|
<target> can be a server name, the nickname of a client connected to
|
|
a specific server, or a mask matching a server name in the network.
|
|
The server of the current connecion is used when <target> is omitted.
|
|
|
|
Please note that ngIRCd ignores the <mask> parameter entirely: it
|
|
is not possible to get information for a part of the network only.
|
|
|
|
References:
|
|
- RFC 2812, 3.4.2 "Lusers message"
|
|
|
|
- MOTD
|
|
MOTD [<server>]
|
|
.
|
|
Show "Message Of The Day" of the current server or specified <server>.
|
|
|
|
- NAMES
|
|
NAMES [<channels> [<server>]]
|
|
.
|
|
Returns a list of who is on the comma-separated list of <channels>,
|
|
by channel name.
|
|
.
|
|
If <channels> is omitted, all users are shown, grouped by channel name
|
|
with all users who are not on a channel being shown as part of channel
|
|
"*".
|
|
If <server> is specified, the command is sent to <server> for
|
|
evaluation.
|
|
|
|
- STATS
|
|
STATS <flag> [<server>]
|
|
.
|
|
Returns statistics about the current server, or of a specified <server>.
|
|
.
|
|
STATS flags:
|
|
.
|
|
g = G-Lines (Network-wide bans)
|
|
k = K-Lines (Server-local bans)
|
|
l = Link status (Parent server and own link)
|
|
m = IRC command status (usage count)
|
|
u = Server uptime
|
|
|
|
- TIME
|
|
TIME [<server>]
|
|
.
|
|
Show the local time of the current server, or of a specified <server>.
|
|
|
|
- TRACE
|
|
TRACE [<server>]
|
|
.
|
|
Trace a path across the IRC network of the current server, or if given
|
|
of a specific <server>, in a similar method to traceroute.
|
|
|
|
- USERHOST
|
|
USERHOST <nicknames>
|
|
.
|
|
Show the user-host of <nicknames> (seperated by space).
|
|
"-" means <nick> is away,
|
|
"+" means <nick> is available,
|
|
"*" indicates your connection.
|
|
|
|
- VERSION
|
|
VERSION [<server>]
|
|
.
|
|
Show the ngIRCd version of the current server, or specified <server>.
|
|
|
|
- WHO
|
|
WHO [<target> ["o"]]
|
|
.
|
|
Returns a list of users who match <target> (nick, hostmask or channel).
|
|
.
|
|
If the flag "o" is given, the server will only return information about
|
|
IRC Operators.
|
|
|
|
- WHOIS
|
|
WHOIS [<server>] <nicknames>
|
|
.
|
|
Returns information about the comma-separated list of <nicknames>.
|
|
.
|
|
If <server> is given, the command is forwarded to it for processing.
|
|
|
|
- WHOWAS
|
|
WHOWAS <nickname> [<count> [<server>]]
|
|
.
|
|
Used to return information about <nicknames> that are no longer in use
|
|
(due to client disconnection, or nickname changes).
|
|
.
|
|
If given, the server will return information from the last <count> times
|
|
the nickname has been used.
|
|
If <server> is given, the command is forwarded to it for processing.
|
|
|
|
|
|
Channel Commands
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
- INVITE
|
|
INVITE <nick> <channel>
|
|
.
|
|
Invites <nick> to <channel>.
|
|
<channel> does not have to exist, but if it does, only members of the
|
|
channel are allowed to invite other clients.
|
|
.
|
|
If the <channel> mode "+i" is set, only <channel> operators may invite
|
|
other clients.
|
|
|
|
- JOIN
|
|
JOIN <channels> [<channel-keys>]
|
|
.
|
|
Makes the client join the <channels> (comma-separated list), specifying
|
|
the passwords, if needed, in the comma-separated <channel-keys> list.
|
|
A <channel-key> is only needed, if the <channel> mode "+k" is set.
|
|
.
|
|
If the channel(s) do not exist, then they will be created.
|
|
|
|
- KICK
|
|
KICK <channel> <nick> [<kick-message>]
|
|
.
|
|
Remove <nick> from <channel>, optional with a <kick-message>.
|
|
.
|
|
Only <channel> operators are able to KICK.
|
|
|
|
- LIST
|
|
LIST [<channels> [<server>]]
|
|
.
|
|
List all visible <channels> (comma-seperated list) on the current
|
|
server.
|
|
If <server> is given, the command will be forwarded to <server> for
|
|
evaluation.
|
|
|
|
- PART
|
|
PART <channels> [<part-message>]
|
|
.
|
|
Leave <channels> (comma-separated list), optional with a
|
|
<part-message>.
|
|
|
|
- TOPIC
|
|
TOPIC <channel> <topic>
|
|
.
|
|
Set a <topic> for <channel>.
|
|
.
|
|
Only <channel> operators are able to set a <topic>.
|
|
|
|
|
|
Administrative Commands
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- CONNECT
|
|
CONNECT <target server> [<port> [<remote server> [<mypwd> <peerpwd>]]]
|
|
.
|
|
Instructs the current server, or <remote server> if specified,
|
|
to connect to <target server>.
|
|
.
|
|
To connect <remote server> you need to have remote oper status.
|
|
If <port> is omitted, it uses the server port of the configuration.
|
|
If <mypwd> and <peerpwd> is given, it uses those passwords instead
|
|
of the ones in the configuration.
|
|
|
|
- DIE
|
|
DIE
|
|
.
|
|
Instructs the server to shut down.
|
|
|
|
- DISCONNECT
|
|
DISCONNECT [<remote server>]
|
|
.
|
|
Disconnects the current server, or <remote server> if specified.
|
|
To disconnect a <remote server> you need to have remote oper status.
|
|
|
|
- GLINE
|
|
GLINE <nick!user@hostmask> <seconds> :<reason>
|
|
.
|
|
This command provides timed G-Lines (Network-wide bans).
|
|
If a client matches a G-Line, it cannot connect to any server on
|
|
the IRC network. If you put 0 as <seconds>, it makes the G-Line
|
|
permanent.
|
|
.
|
|
To remove a G-Line, type "GLINE <nick!user@hostmask>".
|
|
To list the G-Lines, type "STATS g".
|
|
|
|
- KILL
|
|
KILL <nick> <reason>
|
|
.
|
|
Forcibly removes <nick> from the IRC network with a <reason>.
|
|
|
|
- KLINE
|
|
KLINE <nick!user@hostmask> <seconds> :<reason>
|
|
.
|
|
This command provides timed K-Lines (Server-local bans).
|
|
If a client matches a K-Line, it cannot connect to the issued server.
|
|
If you put 0 as <seconds>, it makes the K-Line permanent.
|
|
.
|
|
To remove a K-Line, type "KLINE <nick!user@hostmask>".
|
|
To list the K-Lines, type "STATS k".
|
|
|
|
- OPER
|
|
OPER <user> <password>
|
|
.
|
|
Authenticates <user> as an IRC operator on the current server/network.
|
|
|
|
- REHASH
|
|
REHASH
|
|
.
|
|
Causes the server to re-read and re-process its configuration file(s).
|
|
|
|
- RESTART
|
|
RESTART
|
|
.
|
|
Restart the server.
|
|
|
|
- WALLOPS
|
|
WALLOPS <message>
|
|
.
|
|
Sends <message> to all users with user mode "+w".
|
|
|
|
|
|
IRC Service Commands
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- SERVICE
|
|
|
|
- SERVLIST
|
|
|
|
- SQUERY
|
|
|
|
- SVSNICK
|
|
|
|
|
|
Server Protocol Commands
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
- CHANINFO
|
|
CHANINFO <channel> +<modes> [[<key> <limit>] <topic>]
|
|
.
|
|
CHANINFO is used by servers to inform each other about a channel:
|
|
its modes, channel key, user limits and its topic.
|
|
.
|
|
See doc/Protocol.txt for more information.
|
|
|
|
- ERROR
|
|
ERROR [<message> [<> [...]]]
|
|
.
|
|
Return an error message to the server. The first parameter, if given,
|
|
will be logged by the server, all further parameters are silently
|
|
ignored.
|
|
.
|
|
This command is silently ignored on non-server and non-service links.
|
|
|
|
- METADATA
|
|
METADATA <target> <key> <value>
|
|
.
|
|
The METADATA command is used on server-links to update "metadata"
|
|
information of clients, like the hostname, the info text ("real name"),
|
|
or the user name.
|
|
.
|
|
See doc/Protocol.txt for more information.
|
|
|
|
- NJOIN
|
|
|
|
- SERVER
|
|
|
|
- SQUIT
|
|
SQUIT <server>
|
|
.
|
|
Disconnects an IRC Server from the network.
|
|
|
|
|
|
Dummy Commands
|
|
~~~~~~~~~~~~~~
|
|
|
|
- SUMMON
|
|
|
|
- USERS
|
|
|
|
- GET
|
|
|
|
- POST
|