Commands

All commands shown here are implemented by the core of the ircd, e.g. they are always available, no matter which modules are currently loaded (unless of course a module disables a command!) Any commands implemented by modules can be found in that modules help page on our modules list.

User Commands


/USER [ident] [local host] [remote host] :[GECOS]

This command is used by your client to register your IRC session. You should not use it during an established connection.

/NICK [new nick]

Change your nickname to [new nick].

/QUIT {reason}

Quit from IRC and end your current session with the given message.

/VERSION {servermask}

Returns the server’s version number and information. Always provide this information with any bug reports to The Bugtracker! If a servername is given, the remote server’s version information is shown. Not all software supports remote versioning and may not return a version string. If you provide a wildcard string, the first server which matches will be shown.

/PING [server]

Ping a server. Target server will answer with a PONG.

/PONG [server]

Your client should send this to answer server PINGs. You should not issue this command manually.

/ADMIN [server]

Fetches the administrative information on the given server.

/INFO

Returns information on the developers and supporters who made this IRC server possible.

/PRIVMSG [target-list] [text]

Sends a message to a user or channel specified in [target]. You may not send messages to channels which have the +n mode set unless you are a member of the channel or are connecting from a ulined connection.

/NOTICE [target-list] [text]

Sends a notice to a user or channel specified in [target]. You may not send notices to channels which have the +n mode set unless you are a member of the channel or are connecting from a ulined connection.

/JOIN [channel]{,[channel]} [key]{,[key]}

Joins one or more channels you provide the names for. The key is optional.

/NAMES [channel]{,[channel]}

Return a list of users on the channels you provide. If the channel is +s, you must be on the channel to perform this command.

/PART [channel]{,[channel]}

Leaves one or more channels you specify.

/KICK [channel] [nick] {reason}

Kicks a user from a channel you specify. You must be at least a channel halfoperator (%) to kick a user, where halfop is enabled, or a channel operator (@) otherwise.

/MODE [target] [+|-][modes]{[+|-][modes]} {mode parameters}

Sets the mode for a channel or a nickname specified in [target] A user may only set modes upon themselves, and may not set the +o usermode, and a user may only change channel modes of channels where they are at least a halfoperator.

/TOPIC [channel] {topic}

Sets or retrieves the channel topic. If a channel topic is given in the command and the channel is either not +t, or you are at least a halfoperator, the channel topic will be changed to the new one you provide.

/WHO [ [search-pattern] [ohurmaiMplf] ]

Looks up the information of users matching the range you provide. You may only /WHO nicknames in channels or on servers where you share a common channel with them, or ones which are not +i (unless you are an IRC operator). The search-pattern may be a special sequence of characters determined by the flags given below, or it may be one of a nickname, a channel, a hostmask, an ip address mask or a server mask. WHO flags

The following flags after the mask have the following affects:

WHO flags Effect
o Show online IRC operators matching the mask
u Unlimit the results past the maximum /who results value (IRC operators only)
r Show all users whos realnames match the mask. When this flag is set it overrides the meaning of the search-pattern, which must contain a glob pattern intended to match GECOS (realname) fields.
h Show real hostnames rather than masked hostnames (IRC operators only)
m Search for all users with a given set of user modes. When this flag is set it overrides the meaning of the search-pattern, which must contain the mode sequence to search for, for example to find all users with +i and without +s, issue the command WHO +i-s m.
a Show all users who’s away message matches the given mask
p Show all users who are connected on the given port range
i Show all users whos ident (username) matches the given mask
M Show all users who have metadata attached to them with the given key name
l Show only local users
f Show only remote (far) users

You may combine multiple flags in one WHO command except where stated in the table above.

Examples

Show all local users with modes ‘ix’ but without mode ‘s’.

/WHO +ix-s ml

Show all users whos GECOS matches ‘hiding*person’ who are not on the local server

/WHO hiding*person rf

Show all users with SSL client certs (will not show any users unless you have an SSL module loaded)

/WHO ssl_cert M

Show all users connected on ports within the range 6660 through 6668, 6679 or 6680.

/WHO 6660-6668,6679,6680 p

/MOTD {server}

Show the message of the day for [server]. Messages of the day contain important server rules and notice and should be read before using a server in any way!

/RULES

Show the rules file for the local server. This is similar in effect to /MOTD except that rules are optional. All users are sent the MOTD when they connect without having to request it.

/OPER [login] [password]

Attempts to authenticate a user as an IRC operator. Please be aware that both successful and unsucessful oper attempts are logged, and sent to online IRC operators

/LIST {pattern}

Creates a list of all existing channels matching the glob pattern [pattern], e.g. chat or bot*

/LUSERS

Shows a count of local and remote users, servers and channels.

/STATS [symbol] {server}

Shows various server statistics. Depending on configuration this command may be reserved for oper-only use. Note that all /STATS use is broadcast to online IRC operators. If a server parameter is given, the stats output from the servername you provide is returned instead of that of the local server.

/STATS characters

| STATS Char | Effect | | ———- | —— | | c | Show link blocks | | e | Show e-lines (local ban exemptions) | | g | Show g-lines (global bans) | | k | Show k-lines (local bans) | | l | Show all client connections with information and host | | L | Show all client connections with information and IP address (1.1 only) | | m | Show command statistics, number of times commands have been used | | o | Show a list of all valid oper usernames and hostmasks | | q | Show q-lines (nick mask bans) | | u | Show server uptime | | s | Show filter definitions, when an m_filter* module is loaded | | T | Show bandwidth/socket statistics | | I | Show connect class permissions | | P | Show online opers and their idle times | | p | Show open client ports, and the port type (ssl, plaintext, etc) plus number of users on each port | | U | Show u-lined servers | | y | Show connection classes | | z | Show memory usage statistics | | Z | Show z-lines (IP address mask bans) |

/USERHOST [nickname]

Returns the hostname and nickname of a user, and some other miscellanious information.

/AWAY {message}

If a message is given, marks you as being away, otherwise removes your away status and previous message

/ISON [nick] {[nick]…}

Returns a subset of the nicks you give, showing only those that are currently online.

/SUMMON [user]

Summons a user from the shell where the ircd is running onto irc. This command is deprecated in the current protocol.

/USERS

Shows users logged into the shell where the ircd is running. This command is deprecated in the current protocol.

/INVITE {[nick] [channel]}

Invites a user to a channel. 1.1: If the channel is NOT +i, any user, channel op or not, may invite any other user to the channel, so long as they are a member of that channel. Otherwise, if +i is set only channel half-operators and above may invite users into the channel. 1.2: If the channel is +A, any user, channel op or not, may invite any other user to the channel, so long as they are a member of that channel. Otherwise, if +A is NOT set only channel half-operators and above may invite users into the channel. It is completely independent of +i.

If no parameters are given, the channels you are currently invited to but have not yet joined are listed.

/PASS [password]

This command is used by your irc client when setting up your irc session, and should not be issued by a fully connected client.

/WHOWAS [nick]

Returns a list of times the user was last seen on irc along with the time they were last seen and their server.

/WHOIS [nick] {server}

Returns the WHOIS information of a user, their channels, hostname, etc. If a second nickname or server is provided, then a whois is performed from the server where the user is actually located rather than locally, showing idle and signon times.

/TIME {servermask}

Returns the local time of the server, or remote time of another server.

Shows all servers linked to this one.

/MAP

Shows a graphical representation of all users and servers on the network.

/SERVER

This command is a booby-trap which will cause all opers to be notified of possible malicious activity. InspIRCd does not support the RFC1459 /SERVER command on ports marked as client ports, neither does it accept client commands such as /NICK and /USER on ports designated for server connections.

/MODULES {debug [module-name-mask]}

Lists currently loaded modules, their memory offsets, flags and version numbers. This command has recently been made available to non-opers but if the user is not opered, they will only see the module name and no version information. MODULES flags

If an oper issues this command, they will be shown a set of flags next to each module name. The meaning of these flags is shown below:

MODULES Flag Effect
static Module cannot be unloaded as doing so will cause sync issues.
vendor Module is a vendor module (came in the original tarball, not third-party).
service provider Module provides a service to other modules (can be a dependency).
common Module needs to be common on all servers to link.

/COMMANDS

Lists all currently available commands, the module which provides them (or the core) and the number of parameters they take as a minimum. Oper Commands

Oper Commands


/WALLOPS [message]

Sends a message to all users who have usermode +w set.

/KLINE [user@host] {[duration] :[reason]}

Sets or removes a k-line (host based ban) on a host and ident mask. You must specify at least 3 parameters to add a ban, and one parameter to remove a ban (just the user@host section). The duration may be specified in seconds, or in the following format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional.

Please note that in InspIRCd 1.2 and later, KLINE is checked before the user registers in a similar way to ZLINE if it is a ‘*@ip’ format of mask. This prevents waste of resources in needless DNS and ident lookups etc.

/ZLINE [ipmask] {[duration] :[reason]}

Sets or removes a z-line (ip based ban) on an ip range mask. You must specify at least 3 parameters to add a ban, and one parameter to remove a ban (just the ipmask). The duration may be specified in seconds, or in the following format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional.

/QLINE [nickmask] {[duration] :[reason]}

Sets or removes a q-line (global nick based ban) on a nick mask. You must specify at least 3 parameters to add a ban, and one parameter to remove a ban (just the nickmask). The duration may be specified in seconds, or in the following format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional.

/GLINE [user@host] {[duration] :[reason]}

Sets or removes a g-line (global host based ban) on host mask. You must specify at least 3 parameters to add a ban, and one parameter to remove a ban (just the user@host section). The duration may be specified in seconds, or in the following format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional.

Please note that in InspIRCd 1.2 and later, GLINE is checked before the user registers in a similar way to ZLINE if it is a ‘*@ip’ format of mask. This prevents waste of resources in needless DNS and ident lookups etc.

/ELINE [user@host] {[duration] :[reason]}

Sets or removes a e-line (local ban exception) on host mask. You must specify at least 3 parameters to add an exception, and one parameter to remove an exception (just the user@host section). The duration may be specified in seconds, or in the following format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional.

/DIE [password]

If the correct password is provided, and you are an operator, this command will shut down the local server.

/RESTART [password]

If the correct password is provided, and you are an operator, this command will restart the local server.

/KILL [nickname-list] [reason]

This command will disconnect a user from IRC with the given reason. You may provide the nicknames of multiple users in the first parameter seperated by commas. If you disconnect yourself, parsing of the command will stop at the position of your nickname in the list.

/REHASH {servername}

This command will cause the server configuration file to be re-read and values re-initialised. All modules which are able will reload their settings and re-initialize. The core will also unload any modules which you have removed from the config, and load any new modules which you have added since the last time the Configuration file was read. If a server name is provided, the remote server given is rehashed instead of the local one.

Unlike many other ircd programs, REHASH commands continue along their path after being actioned upon, so for example “/REHASH *” will rehash all servers on the network including the local one.

/TRACE [nick|user@host|servermask]

This command will provide a list of all users and servers which must be passed through or over to reach a given object (server or user)

/CONNECT [servermask] {servermask}

Create a connection to the given servermask. You must have configured the server for linking in your configuration file, and provided a password. If you specify more than one parameter, the first parameter is that of a server to be instructed to connect to the second, remotely.

/SQUIT [servermask]

Disconnect a locally connected server matching servermask from the network.

/RSQUIT [servermask]

This causes a remote server, specified by the servermask, to disconnect from the network without desyncing the network.

/LOADMODULE [filename.so]

Loads a new module into the IRCd. Be very careful with your use of this command! When you load a module it is initialized, and any modes or commands the module implements will instantly become available. Note that if you add a module to your server which other servers on the network do not have, and it implements a user or channel mode, you will desynchronise your network! The module is loaded from the modules directory you configured when you compiled your ircd.

/UNLOADMODULE [filename.so]

This unloads an existing module from the ircd. Note that you may not unload a module which has marked itself as static without first restarting the irc server (these are usually modules which implement channel or user modes, type /modules for a list of flags associated with each module).

/RELOADMODULE [filename.so]

Does UNLOADMODULE and LOADMODULE in one command, handy for quick hotpatching of a module.

/RELOAD [commandname]

Reload the shared object file which implements the given command. Note that these shared objects cannot be removed in the same way as modules, nor can new ones be introduced at runtime, they may only reloaded, e.g. for hotpatching.

/CLEARCACHE

InspIRCd uses an internal cache for resolved hosts in order to speed up hostname resolution. This command clears the cache which can prove useful after eg. changing DNS for any of your links or similar.

Source: https://wiki.inspircd.org/Commands