InspIRCd v4 is still early in development!

If you use this branch you may experience crashes, weird behaviour, and unannounced breaking changes.

You probably want to use InspIRCd v3 instead.

Commands

This page only lists core commands. For details on the commands of a specific module please refer to the appropriate page for that module.

/ADMIN [<server>]

Requests the contact details for the administrator of the specified server.

If <server> is not specified then it defaults to the local server.

Example Usage

Requests the contact details for the local server administrator:

/ADMIN

Requests the contact details for the server administrator of irc.example.com:

/ADMIN irc.example.com

/AWAY [<message>]

If <message> is specified marks yourself as being away with the specified message.

Otherwise, marks yourself as being no longer away.

Example Usage

Marks yourself away with the message "Washing my hair":

/AWAY :Washing my hair

Marks yourself as no longer being away:

/AWAY

/COMMANDS

Lists all commands that exist on the local server.

/DIE <server>

Shuts down the local server. The <server> parameter MUST match the name of the local server.

This command is only usable by server operators with DIE in one of their <class> blocks.

Example Usage

Shuts down the local server:

/DIE irc2.example.com

/ELINE <ident@host>[,<ident@host>]+ [<duration> <reason>]

If <duration> and <reason> are specified then exempts an ident@host mask from being affected by other (G, K, Z, etc) X-lines. The <duration> may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the E-line will be permanent.

Otherwise, if just <ident@host> is specified, removes an exemption on an ident@host mask.

This command is only usable by server operators with ELINE in one of their <class> blocks.

Example Usage

E-lines sadie@example.com for one day with the reason "Testing":

/ELINE sadie@example.com 1d :Testing

E-lines sadie@example.com for one day with the reason "Testing":

/ELINE sadie@example.com 86400 :Testing

Removes an E-line on sadie@example.com:

/ELINE sadie@example.com

/GLINE <ident@host>[,<ident@host>]+ [<duration> <reason>]

If <duration> and <reason> are specified then bans an ident@host mask from connecting to the network. The <duration> may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the G-line will be permanent.

Otherwise, if just <ident@host> is specified, removes a network-wide ban on an ident@host mask.

This command is only usable by server operators with GLINE in one of their <class> blocks.

Example Usage

G-lines sadie@example.com for one day with the reason "Testing":

/GLINE sadie@example.com 1d :Testing

G-lines sadie@example.com for one day with the reason "Testing":

/GLINE sadie@example.com 86400 :Testing

Removes a G-line on sadie@example.com:

/GLINE sadie@example.com

/INFO

Requests information on the developers and supporters who made the creation and continued development of this IRC server possible.

/INVITE [<nick> <channel> [<duration>]]

If <nick> and <channel> are specified then sends an invite to <nick> inviting them to join <channel>.

If <duration> is specified then the invite will expire after the specified duration passes. This duration can be given as a number of seconds or as a duration in the format 1y2w3d4h5m6s.

Otherwise, if no parameters are specified, then lists the invites which you have been sent that haven't been acted on yet.

Example Usage

Lists all pending invites that you have been sent:

/INVITE

Invites Sadie to #example:

/INVITE Sadie #example

Invites Sadie to #example with a five minute invite expiry:

/INVITE Sadie #example 5m

Invites Sadie to #example with a five minute invite expiry:

/INVITE Sadie #example 300

/ISON <nick> [<nick>]+

Determines whether the specified nicknames are currently connected to the network.

Example Usage

Checks whether Adam, Attila, and Sadie are currently connected to the network:

/ISON Adam Attila Sadie

/JOIN <channel>[,<channel>]+ [<key>][,[<key>]+]

Joins one or more channels using the specified channel keys if required.

Example Usage

Joins #channel:

/JOIN #channel

Joins #channel with the key hunter2:

/JOIN #channel hunter2

Joins #channel-one with no key and #channel-two with the key hunter2:

/JOIN #channel-one,#channel-two ,hunter2

/KICK <channel> <nick>[,<nick>]+ [<reason>]

Kicks one or more users from the specified channel.

You must be at least a channel half-operator, or channel operator if that channel mode is not enabled, and must be an equal or higher rank to the user you are kicking.

Example Usage

Kicks Soni from #channel with no reason:

/KICK #channel Soni

Kicks Soni from #channel:

/KICK #channel Soni :Disruptive behaviour is not allowed

Kicks opal and Soni from #channel:

/KICK #channel opal,Soni :Disruptive behaviour is not allowed

/KILL <nick>[,<nick>]+ <reason>

Forcibly disconnects one or more specified users from the network with the specified reason.

This command is only usable by server operators with KILL in one of their <class> blocks.

Example Usage

Forcibly disconnects opal from the network:

/KILL opal :Disruptive behaviour is not allowed

Forcibly disconnects Soni and opal from the network:

/KILL Soni,opal :Disruptive behaviour is not allowed

/KLINE <ident@host>[,<ident@host>]+ [<duration> <reason>]

If <duration> and <reason> are specified then bans an ident@host mask from connecting to the local server. The <duration> may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the K-line will be permanent.

Otherwise, if just <ident@host> is specified, removes a local server ban on an ident@host mask.

This command is only usable by server operators with KLINE in one of their <class> blocks.

Example Usage

K-lines sadie@example.com for one day with the reason "Testing":

/KLINE sadie@example.com 1d :Testing

K-lines sadie@example.com for one day with the reason "Testing":

/KLINE sadie@example.com 86400 :Testing

Removes a K-line on sadie@example.com:

/KLINE sadie@example.com

/LIST [(>|<)<count>|C(>|<)<minutes>|T(>|<)<minutes>|[!]<pattern>]+

Lists all channels visible to the requesting user which match the specified criteria. If no criteria is specified then all visible channels are listed.

If ><count> is specified then only lists channels which contain more than <count> users.

If <<count> is specified then only lists channels which contain less than <count> users.

If C><minutes> is specified then only lists channels which were created more than <minutes> minutes ago.

If C<<minutes> is specified then only lists channels which were created less than <minutes> minutes ago.

If T><minutes> is specified then only lists channels which have had the topic changed more than <minutes> minutes ago.

If T<<minutes> is specified then only lists channels which have had the topic changed less than <minutes> minutes ago.

If <pattern> is specified then only lists channels with a name or a topic matching <pattern>.

If !<pattern> is specified then only lists channels with a name or a topic not matching <pattern>.

Example Usage

Lists channels with more than five users:

/LIST >5

Lists channels with less than five users:

/LIST <5

Lists channels which were created more than ten minutes ago:

/LIST C>10

Lists channels which were created less than ten minutes ago:

/LIST C<10

Lists channels which had the topic changed more than ten minutes ago:

/LIST T>10

Lists channels which had the topic changed less than ten minutes ago:

/LIST T<10

Lists all channels with a name or topic matching *support*:

/LIST *support*

Lists all channels with a name or topic not matching *support*:

/LIST !*support*

/LOADMODULE <module>

Loads the specified module on the local server.

This command is only usable by server operators with LOADMODULE in one of their <class> blocks.

Example Usage

Loads the botmode module:

/LOADMODULE botmode

/LUSERS

Requests information about the current and total number of servers, server operators, and users.

/MODE <channel>|<user> <modes> [<parameters>]+

Changes the modes which are set on a channel or a user.

For a list of modes see the channel modes and user modes pages.

Example Usage

Sets:

  1. Channel mode n (noextmsg).
  2. Channel parameter-set mode k (key) with the value "s3cr3t".
  3. Channel parameter mode l (limit) with the value "100".
  4. Channel prefix mode o (op) with the user "Sadie".
/MODE #channel +nklo s3cr3t 100 Sadie

Unsets:

  1. Channel mode n (noextmsg).
  2. Channel parameter-set mode k (key) with the value "s3cr3t".
  3. Channel parameter mode l (limit).
  4. Channel prefix mode o (op) with the user "Sadie".
/MODE #channel -nklo s3cr3t Sadie

Sets:

  1. User mode w (wallops).
  2. User parameter mode s (snomask) with the value "*".
/MODE Sadie +ws *

Unsets:

  1. User mode w (wallops).
  2. User parameter mode s (snomask).
/MODE Sadie -ws

/MODULES

Lists all modules which are loaded on the local server.

/MOTD [<server>]

If <server> is specified then requests the message of the day for the specified server.

Otherwise, requests the message of the day for the local server.

Example Usage

Requests the MOTD for the local server:

/MOTD

Requests the MOTD for irc2.example.com:

/MOTD irc2.example.com

/NAMES [<channel>[,<channel>]+]

Requests a list of users who are in the specified channels.

Example Usage

Requests a list of users on channels #one and #two:

/NAMES #one,#two

/NICK <nick>

Changes your nickname to <nick>.

You may also change your nick to your UUID by specifying a nickname of "0".

Example Usage

Changes your nick to Sadie:

/NICK Sadie

Changes your nick to your UUID:

/NICK 0

/NOTICE <target>[,<target>]+ <message>

Sends a notice to the targets specified in <target>. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege).

Example Usage

Sends a notice to #channel saying "Hello!":

/NOTICE #channel :Hello!

Sends a notice to Sadie saying "Hello!":

/NOTICE Sadie :Hello!

Sends a notice to all users on servers matching the glob pattern *.example.com saying "Hello!":

/NOTICE $*.example.com :Hello!

/OPER <name> <password>

Logs into a server operator account with the specified name and password.

Example Usage

Logs into the server operator account "AzureDiamond" with the password "hunter2":

/OPER AzureDiamond hunter2

/PART <channel>[,<channel>]+ [<reason>]

Leaves one or more channels. If <reason> is specified then it will be used as the message shown when parting.

Example Usage

Leaves #channel with no reason:

/PART #channel

Leaves #channel-one and #channel-two with no reason:

/PART #channel-one,#channel-two

Leaves #channel with the reason "Going to bed":

/PART #channel :Going to bed

Leaves #channel-one and #channel-two with the reason "Going to bed":

/PART #channel-one,#channel-two :Going to bed

/PASS <password>

Specifies the password used to log in to the local server.

Example Usage

Specifies "hunter2" as the local server password:

/PASS hunter2

Pings <server> with the specified <cookie>. If <server> is not specified then it defaults to the local server.

Example Usage

Pings the local server with the cookie "wibble":

/PING wibble

Pings irc2.example.com with the cookie "wobble":

/PING wobble irc2.example.com

Responds to a ping from <server> with the specified <cookie>. If <server> is not specified then it defaults to the local server.

Example Usage

Responds to a ping from the local server with the cookie "wibble":

/PONG wibble

Responds to a ping from irc2.example.com with the cookie "wobble":

/PONG wobble irc2.example.com

/PRIVMSG <target>[,<target>]+ <message>

Sends a message to the targets specified in <target>. These targets can be a channel, a user, or a server mask (requires the users/mass-message server operator privilege).

Example Usage

Sends a message to #channel saying "Hello!":

/PRIVMSG #channel :Hello!

Sends a message to Sadie saying "Hello!":

/PRIVMSG Sadie :Hello!

Sends a message to all users on servers matching the glob pattern *.example.com saying "Hello!":

/PRIVMSG $*.example.com :Hello!

/QLINE <nick>[,<nick>]+ [<duration> <reason>]

If <duration> and <reason> are specified then prevents a nickname from being used. The <duration> may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Q-line will be permanent.

Otherwise, if just <nick> is specified, removes a reservation on a nickname.

This command is only usable by server operators with QLINE in one of their <class> blocks.

Example Usage

Q-lines Adam for one day with the reason "Testing":

/QLINE Adam 1d :Testing

Q-lines Sadie for one day with the reason "Testing":

/QLINE Sadie 86400 :Testing

Removes a Q-line on Adam:

/QLINE Adam

/QUIT [<message>]

Disconnects from the local server. If <message> is specified then it will be used as the message shown when quitting. Otherwise, "Client exited" will be used.

Example Usage

Quits with "Client exited" as the quit message:

/QUIT

Quits with "Time for bed" as the reason:

/QUIT :Time for bed

/REHASH <server>|-<type>

Reloads the server configuration.

If <type> is specified then a specific module is rehashed on the local server.

If <server> is specified then the specified server's configuration is reloaded.

Otherwise, if no parameters are specified, the local server's configuration is reloaded.

This command is only usable by server operators with REHASH in one of their <class> blocks.

Example Usage

Reloads the local server configuration:

/REHASH

Reloads the server configuration for remote.example.com:

/REHASH remote.example.com

Reloads the TLS (SSL) certificates (requires the sslinfo module):

/REHASH -ssl

/RELOADMODULE <module>

Reloads the specified module on the local server.

This command is only usable by server operators with RELOADMODULE in one of their <class> blocks.

Example Usage

Reloads the alias module:

/RELOADMODULE alias

/RESTART <server>

Restarts the local server. The <server> parameter MUST match the name of the local server.

This command is only usable by server operators with RESTART in one of their <class> blocks.

Example Usage

Restarts the local server:

/RESTART irc2.example.com

/SERVLIST [<nick> [<oper-type>]]

List network services that are currently connected to the network and visible to you. The optional glob-based nick and oper-type parameters match against the nickname of the network service and the oper type of the network service.

Example Usage

Lists all visible network services with a nickname ending in "Serv":

/SERVLIST *Serv

/SQUERY <target> <message>

Sends a message to the service specified in <target>. This target must be on a U-lined server.

Example Usage

Sends a message to NickServ saying "HELP":

/SQUERY NickServ HELP

/STATS <character> [<server>]

Requests the specified server statistics.

If <server> is specified then requests the server statistics for the specified server.

Otherwise, requests the server statistics for the local server.

Statistics Characters

This page only lists core statistics characters. Modules which provide additional characters will list the characters on the specific module page.

Character Description
e Show E-lines (global user@host ban exceptions).
g Show G-lines (global user@host bans).
k Show K-lines (local user@host bans).
q Show Q-lines (global nick bans).
Z Show Z-lines (global IP mask bans).
i Show connect class permissions.
Y Show connection classes.
l Show all client connections with information (sendq, commands, bytes, time connected).
L Show all client connections with information and IP address.
m Show command statistics, number of times commands have been used.
o Show a list of all valid oper usernames and hostmasks.
O Show opertypes and the allowed user and channel modes it can set.
p Show open client ports, and the port type (ssl, plaintext, etc).
P Show online opers and their idle times.
u Show server uptime.
z Show memory usage statistics.
E Show socket engine events.
T Show bandwidth/socket statistics.
U Show U-lined servers.

Example Usage

Requests p (ports) statistics for the local server:

/STATS p

Requests p (ports) statistics for the remote server irc.eu.example.com:

/STATS p irc.eu.example.com

/TIME [<server>]

If <server> is specified then requests the time on the specified server.

Otherwise, requests the time on the local server.

Example Usage

Requests the time on the local server:

/TIME

Requests the time on remote server irc.eu.example.com:

/STATS p irc.eu.example.com

/TOPIC <channel> [<newtopic>]

If <newtopic> is specified then changes the topic for <channel> to the specified value.

Otherwise, requests the topic for the specified channel.

Example Usage

Changes the topic for #trains to "choo choo":

/TOPIC #trains :choo choo

Requests the topic for #trains:

/TOPIC #trains

/UNLOADMODULE <module>

Unloads the specified module on the local server.

This command is only usable by server operators with UNLOADMODULE in one of their <class> blocks.

Example Usage

Unloads the alias module:

/UNLOADMODULE alias

/USER <username> <unused> <unused> <realname>

Specifies a username (ident) and real name (gecos) when connecting to the server.

Example Usage

Specifies the username (ident) "jsmith" and the real name "John Smith <jsmith@example.com>":

/USER jsmith * * :John Smith <jsmith@example.com>

/USERHOST <nick> [<nick>]+

Requests the hostname of the specified users.

Example Usage

Requests the hostname of Adam:

/USERHOST Adam

Requests the hostname of Adam and Sadie:

/USERHOST Adam Sadie

/VERSION [<server>]

If <server> is specified then requests the version of the specified server.

Otherwise, requests the version of the local server.

Example Usage

Requests the version of the local server:

/VERSION

Requests the version of the remote server irc.eu.example.com:

/VERSION irc.eu.example.com

/WALLOPS <message>

Sends a message to all users with user mode w (wallops) enabled:

This command is only usable by server operators with WALLOPS in one of their <class> blocks.

Example Usage

Sends "Rebooting for updates at 20:00 UTC" to all users with user mode w (wallops) enabled:

/WALLOPS :Rebooting for updates at 20:00 UTC

/WHO <pattern> [<flags>][%[<fields>[,<querytype>]]] <pattern>

Requests information about users who match the specified condition.

One or more of the following flags may be used:

Character Description
A Show users who have an away message matching <pattern>.
a Show users who have an account name matching <pattern>.
d Also show users who have been delay joined (requires the delayjoin module).
f Only show users on remote (far) servers.
G Show users who are connecting from a country with an alpha-2 code matching <pattern> (requires the geoban module).
h Show users who have a hostname matching <pattern>. If the 'x' modifier is specified then this will match against the real hostname instead of the display hostname.
i Show users who have an IP address matching <pattern>.
l Only show users on the local server.
m Show users who have the modes listed in <pattern>. The pattern should be in the same format as a mode change e.g. +ow-i (server operators only).
n Show users who have a nickname matching <pattern>.
o Only show server operators.
p Show users who are connected to a port in the <pattern> range (server operators only).
r Show users who have a real name matching <pattern>.
s Show users who are on a server with a name matching <pattern>. If the 'x' modifier is specified then this will match against the real server name instead of the masked server name.
t Show users who have connected in the last <pattern> seconds.
u Show users who have an ident (username) matching <pattern>.
x Show sensitive data like real user hostnames and, when hideserver is enabled, real server hostnames.

One or more of the following fields may be used:

Character Description
a Include the user's account name in the response.
c Include the first common channel name in the response.
d Include the user's server distance from you in the response.
f Include the user's away status, oper status, and highest channel prefix in the response.
h Include the user's hostname in the response. If the 'x' flag was specified then this is the real host rather than the display host.
i Include the user's IP address in the response.
l Include the user's idle time in the response.
n Include the user's nickname in the response.
o Include the user's channel operator rank level in the response.
r Include the user's real name in the response.
s Include the user's server name in the response. If the 'x' flag was specified then this is the real server name rather than the masked servername.
t Include the query type in the response.
u Include the user's username in the response.

Example Usage

Requests all users on the local server who have an away message matching *brb*:

/WHO *brb* Al

Requests the account name, hostname, and username of Sadie:

/WHO Sadie n%ahu

/WHOIS [<server>] <nick>[,<nick>]+

Requests information about users who are currently connected with the specified nicks:

If the <server> parameter is specified then only one <nick> can be specified and remote information will be fetched about the user if they are not on the local server.

Example Usage

Requests locally available information about Adam:

/WHOIS Adam

Requests remotely available information about Adam by specifying the server they're on:

/WHOIS irc.example.com Adam

Requests remotely available information about Adam by repeating their nick:

/WHOIS Adam Adam

Requests locally available information about Adam and Sadie:

/WHOIS Adam,Sadie

/WHOWAS <nick> [<count>]

Requests information about a user who was previously connected with the specified nick.

If is given, only return the most recent entries.

Example Usage

Requests information about who previously used the nick Adam:

/WHOWAS Adam

/ZLINE <ipaddr>[,<ipaddr>]+ [<duration> <reason>]

If <duration> and <reason> are specified then bans an IP address or CIDR range from connecting to the network. The <duration> may be specified as a number of seconds or as a duration in the format 1y2w3d4h5m6s. If the duration is zero then the Z-line will be permanent.

Otherwise, if just <ipaddr> is specified, removes a network-wide ban on an IP address.

This command is only usable by server operators with ZLINE in one of their <class> blocks.

Example Usage

Z-lines 192.0.2.1 for one day with the reason "Testing":

/ZLINE 192.0.2.1 1d :Testing

Z-lines 192.0.2.0/24 for one day with the reason "Testing":

/ZLINE 192.0.2.0/24 86400 :Testing

Removes a Z-line on 192.0.2.1:

/ZLINE 192.0.2.1