InspIRCd 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

/CLEARCACHE

Clears the internal DNS cache for the local server.

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

/COMMANDS

Lists all commands that exist on the local server.

/DIE <password>

Shuts down the local server using the password specified in the configuration.

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

Example Usage

Shuts down the local server using the password "hunter2":

/DIE hunter2

/ELINE <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> [<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> [<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>|<pattern>]

Lists all channels visibile to the requesting user.

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 <pattern> is specified then only lists channels with a name or a topic matching <pattern>.

Example Usage

Lists channels with more than five users:

/LIST >5

Lists channels with less than five users:

/LIST <5

Lists all channels with a name or topic 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 m_botmode.so

/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 modes page.

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

/MODENOTICE <modes> <message>

Sends a message to all users with the specified user modes set.

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

Example Usage

Sends a message to every user with user mode i (invisible) set:

/MODENOTICE i :Hello invisible people!

/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

/PING <unique-id>

Pings the local server with <unique-id> to check that you are still connected.

Example Usage

Pings the local server with the text "wibble".

/PING :wibble

/PONG <text>

Responds to a ping to let the local server know you are still connected.

Example Usage

Replies to a ping from irc.example.com:

/PONG :irc.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> [<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 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 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 m_alias.so

/RESTART <password>

Restarts the local server using the password specified in the configuration.

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

Example Usage

Restarts the local server using the password "hunter2":

/RESTART hunter2

/RULES [<server>]

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

Otherwise, requests the rules for the local server.

Example Usage

Requests the rules for the local server:

/RULES

Requests the rules for irc2.example.com:

/RULES irc2.example.com

/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.

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 m_alias.so

/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 the w (wallops) user mode 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 the w (wallops) user mode enabled.

/WALLOPS :Rebooting for updates at 20:00 UTC

/WHO <server>|<nick>|<channel>|<host>|<pattern>|<realname>|0 [afhilMmoprt]

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>.
f Only show users on remote (far) servers.
h Show real hostnames rather than display hostnames (server operators only).
i Show users who have an ident (username) matching <pattern>.
l Only show users on the local server.
M Show users who have metadata attached to them with a key name matching <pattern> (server operators only).
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).
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>.
t Show users who have connected in the last <pattern> seconds.

Example Usage

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

/WHO *brb* al

Requests all server operators on irc.eu.example.com:

/WHO irc.eu.example.com o

/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>

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

Example Usage

Requests information about who previously used the nick Adam:

/WHOWAS Adam

/ZLINE <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