Skip to main content
Version: 2.0.0 ๐Ÿšง

Commands

ADMIN#

Syntax: ADMIN [server|nickname]

With no arguments, ADMIN shows information that was set by the administrator of the server. This information can take any form that will fit in three lines of text, but is usually a list of contacts for the persons responsible for the server.

With an argument, the administrative information for the specified server is displayed.

ASLL#

Syntax: ASLL <servermask> [server]

Without a second argument, ASLL sends an asymmetric link latency (ASLL) request to directly linked servers matching the specified server mask. The information returned shows the round trip time (RTT) and the trip times for upstream and downstream separately, and can be used to identify which direction a routing problem may exist.

With a second argument, the request is performed on the specified server. The delay shown for upstream and downstream can be distorted due to time differences on the servers. In case the values for upstream and downstream differ greatly, it would be an indication of a problem with the routing in the direction of the highest absolute value. The latency is measured over the existing server connection and collected during the normal PING/PONG routine over the server link.

Privilege(s) required: routeinfo

AWAY#

Syntax: AWAY :[message]

Without an argument, sets you as being back. With an argument, it will set you as being AWAY with the specified message.

CHECK#

Syntax: CHECK <channel|nickname|server|hostmask> [->flags]

Returns extended information about the specified channel, server, user, or users matching a hostmask.

A hostmask can be of the form host, user@host, or nick!user@host. Wildcards and CIDR notation are supported.

A flags argument may be specified to modify the information shown, where valid flags are:

FlagDescription
CPerform clone count when checking a channel
cShow channels when checking a hostmask
eShow extended information when checking a mask
IShow hostnames and IP addresses when checking a channel
iShow IP addresses instead of hostnames when displaying results
lShow Oplevels when checking a channel
mShow marks when checking a user
oOnly show channel operators when checking a channel
sShow server a user is on when checking a channel, or on a mask when combined with 'e'
uHide users when checking a channel

Privilege(s) required: check

CLEARMODE#

Syntax: CLEARMODE [!]<channel> <modes>

Removes the given modes from the specified channel. If the channel is registered with a service or quarantined, then the ! flag will need to be prepended to the channel name to force the change.

Privilege(s) required: local_opmode force_local_opmode opmode force_opmode

CLOSE#

Syntax: CLOSE

Disconnects all unknown connections from the server.

CNOTICE#

Syntax: CNOTICE <nickname> <channel> :<text>

Allows a channel operator to send notices to users in a channel without being affected by the max target limit system.

CONNECT#

Syntax: CONNECT <serverA> [<port>] [serverB]

With serverB is used, CONNECT asks serverB to connect to serverA. The port must be specified with serverB.

When serverB is not used, CONNECT tries to connect your server to serverA.

When port is used, the connection be attempted to port. You may specify '0' to use the default server port.

Privilege(s) required: route

CPRIVMSG#

Syntax: CPRIVMSG <nickname> <channel> :<text>

Allows a channel operator to send private messages to users in the channel wuthout being affected by the max target limit system.

DIE#

Syntax: DIE <server>

Terminates the IRC server.

The specified server name must exactly match your server's name.

Privilege(s) required: die

GET#

Syntax: GET <feature>

Gets the value set for the given feature setting.

Privilege(s) required: serverinfo

GLINE#

Syntax: GLINE [[!][+|-][%]][$<type>]<mask> [[target] <expiration> :<reason>]

Sets (+), removes (-), or lists G-lines (global bans) or badchans. The target can either be specified as '*' for a global G-line/badchan (i.e. all servers) or a specific server for a local G-line/badchan to confine it to the specified server.

The type argument can be used to G-line realnames by using '$R'.

The '%' flag may be prepended to the type or mask to make the G-line or badchan act as a soft ban. Soft bans only affect users that have not authenticated to a services account.

If the mask would not be permitted due to it being too wide or affecting too many currently connected users, the '!' flag may be used to force the G-line to be set anyway.

The expiration is specified in seconds or as an interval string (e.g. 1h30m).

Privilege(s) required: serverinfo local_badchan local_gline badchan gline wide_gline

HASH#

Syntax: HASH

Shows hash table statistics.

Privilege(s) required: serverinfo

HELP#

Syntax: HELP [topic]

Displays the contents of the help file for the topic requested. If no topic is requested, it will display the HELP index.

INFO#

Syntax: INFO [server]

Without an argument, returns information for the server, including credits.

With an argument, the information for the specified server is displayed.

INVITE#

Syntax: INVITE [<nick> <channel>]

Without an argument, displays any pending invites you have.

With the nickname and channel arguments, it will invite the user to the specified channel and notify them of the invite.

ISON#

Syntax: ISON <nickA> [nickB] :[nickC] [nickD]

Returns a list of users who are present on the network from the list that is passed in.

This command is rarely used directly.

JOIN#

Syntax: JOIN <channel[,channel2,channelN]> [key]

The JOIN command allows you to enter a channel. Global (network-wide) channels are preceeded by a '#', while local channels are preceeded by an '&'. You can join more than one channel at a time, separating their names with commas.

If the channel has a key set (e.g. password protected), the second argument must be given to enter.

If the OPLEVELS feature is enabled, the second argument is used to specify the admin (+A) or user (+U) keys, respectively.

JUPE#

Syntax: [+|-]<server> [[target] <expiration> :<reason>]

Sets (+), removes (-), or lists jupes. The target can either be specified as '*' for a global jupe (i.e. all servers) or a specific server for a local jupe to confine it to the specified server.

The expiration is specified in seconds or as an interval string (e.g. 1h30m).

Privilege(s) required: routeinfo local_jupe jupe

KICK#

Syntax: KICK <channel> <nick> :[reason]

Removes the specified user from the specified channel. If a reason is given, it will be displayed to the user, as well as others present in the channel. You must be at least a half operator (halfop) on the channel to use this command.

KILL#

Syntax: KILL <nick> :[reason]

Forcefully disconnects the specified user from the IRC server they're connected to. If a reason is given, it will be displayed to the user.

Privilege(s) required: local_kill kill

LINKS#

Syntax: LINKS [[remote] mask]

Shows a list of all servers linked to the host server.

With a mask parameter, only servers matching the mask will be shown. With the remote parameters, LINKS data will be requested from the remote server, matching the mask given.

tip

The LINKS command employs an intensive process to generate its output, so sparing use is recommended.

If the HIS_LINKS feature is enabled, the command is disabled for non-operators.

LIST#

Syntax: LIST [parameters]

Without any arguments, a list of all channels which are not set secret (+s) is returned.

If you want to use a specific filter, you can pass one or more options separated by commas (','). Recognized options are:

OptionDescription
<=max_usersShow all channels with less than max_users.
>=min_usersShow all channels with more than min_users.
C<=max_minutesChannels that exist less than max_minutes.
C>=min_minutesChannels that exist more than min_minutes.
T<=max_minutesChannels with a topic last set less than max_minutes ago.
T>=min_minutesChannels with a topic last set more than min_minutes ago.
patternChannels with names matching pattern.
!patternChannels with names not matching pattern.

Example: LIST <3,>1,C<10,T>0,#a*

The above example tells LIST to return all channels with less than 3 members, created less than 10 minutes ago, have a topic set, and starts with #a.

tip

To stop a running LIST request, use LIST with no arguments or LIST STOP.

LUSERS#

Syntax: LUSERS [server|nick]

Displays client count statistics.

If a remote server is specified, it will request the information from that server.

MAP#

Syntax: MAP [server]

Displays the network map.

If a remote server is specified, displays the network map from the point of view of that server.

MODULE#

Syntax: MODULE <option> [module name]

option may be one of the following:

  • LIST - Lists the modules currently loaded into the ircd, along with their address and version. When a string is provided, LIST only prints modules with names matching the match string.
  • LOAD - Loads a module into the ircd.
  • UNLOAD - Unloads a module from the ircd. When a module is unloaded, all commands associated with it are unloaded as well.
  • RELOAD - Reloads a module. If '*' has been specified as the module name, all modules will be reloaded.

MOTD#

Syntax: MOTD [server]

Displays the Message of the Day (MOTD).

If a remote server is specified, displays the MOTD of that server,

NAMES#

Syntax: NAMES [-<flags>] <channel>

Displays a channel's member list, while respecting the +i user mode of each client. If the client issuing the command in in the specified channel, all members are listed in similar fashion to when the user first joins the channel.

Available flags:

  • D - Displays hidden users (due to delayed-join)

NICK#

Syntax: NICK <nickname>

Changes the client's nickname to that specified.

NOTICE#

Syntax: NOTICE <nick|channel> :message

Sends a notice message to the user or channel specified.

NOTICE supports the following prefixes for sending notices to specific clients in a channel:

  • @ - Channel operators only
  • # - Channel operators and half-operators only
  • + - Channel operators, half-operators and voiced users only

Two other targets are permitted for IRC operators:

  • $$servermask - Send a message to users on a specific server or set of servers
  • $#hostmask - Send a message to users matching the hostmask

The nick can be extended to fit into the following syntax:

username[%hostname]@servername

This syntax (without hostname) is used to securely send a notice message to a service or bot.

OPER#

Syntax: OPER <name> <password>

Grants operator privileges.

The name argument is the name of the operator as specified in the configuration file. The password argument is the password for the operator matching the name and host.

OPMODE#

Syntax: OPMODE [!]<channel> <parameters>

Performs the given mode changes on the specified channel without having to be a channel operator. If the channel is registered or quarantined, then '!' will need to be prepended to the channel name to force the change,

PART#

Syntax: PART <channel1[,channel2,channelN]> [:[part message]]

The PART command is used to leave a channel.

The command requires at least one channel be given for the channel argument. You can part more than one channel at a time by separating their names with commands (',').

An optional part message may be given to be displayed to the channel.

PASS#

Syntax: PASS <password>

Used during client registration to access a password protected server. It is also used by the Login-on-Connect (LOC) feature.

PING#

Syntax: PING <source> :<target>

Requests a PONG from the target. If a user or operator issues this command, the source will always be turned into the nick that issued the PING.

PONG#

Syntax: PONG <pinged-client> :<source-client>

PONG is the response to a PING command. The source client is the user or server that issued the command, and the pinged client is the user or server that received the PING.

PRIVMSG#

Syntax: PRIVMSG <nick|channel,[nickN,channelN]> :<message>

Sends a standard private message to the user or channel specified.

PRIVMSG supports the following prefixes for sending messages to specific clients in a channel:

  • @ - Channel operators only
  • # - Channel operators and half-operators only
  • + - Channel operators, half-operators and voiced users only

Two other targets are permitted for IRC operators:

  • $$servermask - Send a message to users on a specific server or set of servers
  • $#hostmask - Send a message to users matching the hostmask

The nick can be extended to fit into the following syntax:

username[%hostname]@servername

This syntax (without hostname) is used to securely send a message to a service or bot.

PRIVS#

Syntax: PRIVS [nick]

Without an argument, displays operator privileges for the client that issued the command.

If the nick argument is given, displays the specified user's operator privileges.

QUIT#

Syntax: QUIT [:[quit message]]

Disconnects you from the IRC server.

An optional quit message may be given, which will be displayed to users in the channels you were in when you are disconnected.

REHASH#

Syntax: REHASH [<options> [server]]

Where options may be one or more of the following:

  • l - Reload log files
  • m - Re-read MOTD file(s)
  • q - DO NOT re-read the /etc/resolv.conf file
  • r - Re-read configuration file(s)

If no options are specified, then ircd will reload log files, re-read MOTD file(s), re-read /etc/resolv.conf and re-read configuration file(s).

If a remote server is specified, the REHASH command will be performed on that server.

RESET#

Syntax: RESET <setting>

Resets the specified feature setting to its default value.

RESTART#

Syntax: RESTART <server.name>

Restarts the IRC server.

RPING#

Syntax: RPING <server> [<from_server>] :[string]

Pings the server specified and returns the delay in milliseconds along with optional string, if specified.

The from_server argument can be used to issue the RPING from another server.

SET#

Syntax: SET <setting> <value>

Changes the value for the specified feature setting.

SETNAME#

Syntax: SETNAME :<name>

Changes your realname to the name specified, which some clients use as your display name.

SETTIME#

Syntax: SETTIME <new_time> [server]

Sets the IRC server's clock to the specified time.

If a remote server is specified, the clock for that server is changed to the given time.

SILENCE#

Syntax: SILENCE [+|-[~]hostmask|extban]

The SILENCE command is used to manage your server-side ignore list.

Without arguments, your current silence list will be displayed.

Prefix a hostmask or extban with a + to add it, or - to remove it.

If you want to exempt a person, then add ~ before the hostmask or extban.

SQUERY#

Syntax: SQUERY <target> <message>

Sends a message to the service specified in target, which must be on a U-lined server.

SQUIT#

Syntax: SQUIT <server> [:[reason]]

Splits server, and with it everything behind it, away from your side of the network.

An optional reason may be given which will be shown in the split message.

STATS#

Syntax: STATS <letter|shortname> [server]

Queries server, or your own server if no server argument is given, for information corresponding to the letter/shortname.

To view a list of available statisticsm use /STATS ?.

TIME#

Syntax: TIME [server]

Returns the server's local date and time.

If a remote server is specified, the local date and time for that server will be returned.

TOPIC#

Syntax: TOPIC <channel> [:[new_topic]]

With only a channel argument, the current topic of the specified channel is shown.

With a second argument, it changes the topic on that channel to new_topic. If the channel has cmode +t set, only channel operators may change the topic.

TRACE#

Syntax: TRACE [server|nick] [target_server]

With no argument, TRACE gives a list of all clients connected to the local server, both users and operators.

With one argument which is a server, TRACE displays the path to the specified server, and all clients on that server.

With one argument which is a client, TRACE displays the path to that client, and that client's information.

UPING#

Syntax: UPING <server> [<port>] [<remote_server>] [number_of_packets]

The UPING command pings the host of the server with UDP packets. The server does not have to be linked. By default, port 7007 is used, and 5 packets are sent (maximum is 20).

USER#

Syntax: USER <username> <hostname> <servername> :<realname>

USER is used during registration to set your realname and username, if the server cannot get a valid ident response. The second and third fields are not used, but there must be something in them (for backwards compatability).

USERHOST#

Syntax: USERHOST <nick>

USERHOST displays the username, hostname, operator status and presence of a valid ident of the specified user.

USERIP#

Syntax: USERIP <nick>

USERIP displays the username, IP address, operator status, and presence of a valid ident of the specified user.

VERSION#

Syntax: VERSION [server|nick]

VERSION will display the server version of the specified server, or the local server if there was no argument.

WALLCHOPS#

Syntax: WALLCHOPS <channel> :<message>

WALLCHOPS sends a message to the channel operators in the specified channel.

WALLHOPS#

Syntax: WALLHOPS <channel> :<message>

WALLCHOPS sends a message to the half operators in the specified channel.

WALLOPS#

Syntax: WALLOPS :<message>

Sends a WALLOPS message to all operators who have umode +w.

WALLUSERS#

Syntax: WALLUSERS :<message>

Sends a WALLUSERS message to all users who have umode +w.

WALLVOICES#

Syntax: WALLVOICES <channel> :<message>

WALLVOICES sends a message to those who are voiced in the specified channel.

WHO#

Syntax: WHO <channel|nick|mask> [<options> [<channelN|nickN|maskN>]]

WHO is powerful tool for searching users.

For more information on how to use this command, please check out the WHO (extended) guide.

WHOIS#

Syntax: WHOIS [server|nick] nick[,nickN,...]

WHOIS displays detailed information for the specified nick(s).

If the first argument is specified, WHOIS will display information from the specified server, or the server that the user is on.

WHOWAS#

Syntax: WHOWAS <nick> [count] [nick|server]

WHOWAS displays brief information from the last time the specified nick was connected or changed nicknames.

Depending on the number of times the user connected, there may be more than one listing for the specified nick. You can limit how many of those listings will be shown with the count argument.";

Specifying nick or server as an additional argument forwards that query to that server.

XQUERY#

Syntax: XQUERY <target> <routing> <extension_message>

IRC operators may use XQUERY to send an extension message to the named target. The routing argument is simply an opaque token that is used to provide pairing between replies and queries. The target is expected to reply with an XREPLY.

The XQUERY and XREPLY commands are used by IAuth, servers and services to send queries and receive replies with each other. The IRC operator version of the XQUERY command is primarily intended for debugging.