Advanced IRC Commands

Published by bynw on Tuesday, September 17, 2024

Supported Advanced Commands

ADMIN [server] Shows the administrative information on the given server. All

AWAY {message} If a message is given, marks you as being away, otherwise removes your away status and previous message. All

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

INVITE {[nick] [channel]} Invites a user to a channel. 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. If no parameters are given, the channels you are currently invited to but have not yet joined are listed. All

ISON [nick] {[nick]…} Returns a subset of the nicks you give, showing only those that are currently online. All

JOIN [channel]{,[channel]} [key]{,[key]} Joins one or more channels you provide the names for. The key is optional. All

KICK [channel] [nick] {reason} Kicks a user from a channel you specify. You must be at least a channel half operator (%) to kick a user, where halfop is enabled, or a channel operator (@) otherwise. All

LINKS Shows all servers linked to this one. All

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

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

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

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 half operator. All

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

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: All

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

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! All

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

NICK [new nick] Change your nickname to [new nick]. All

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

PART [channel]{,[channel]} Leaves one or more channels you specify. All

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

PING [server] Ping a server. Target server will answer with a PONG. All

PONG [server] Your client should send this to answer server PINGs. You should not issue this command manually. All

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

QUIT {reason} Quit from IRC and end your current session with the given message. All

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

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

TIME {servermask} Returns the local time of the server, or remote time of another server. All

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

USERHOST [nickname] Returns the hostname and nickname of a user, and some other miscellanious information. All

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

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

WHO [ [search-pattern] [ohurmaiMplf] <–(/who flag letters) ] 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. All

WHO flags – The following flags after the mask have the following affects:

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 GEOCS (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 WHO +ix-s ml Show all local users with modes ‘ix’ but without mode ‘s’.

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

WHO ssl_cert M – Show all users with SSL client certs (will not show any users unless you have an SSL module loaded).

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

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

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

Supported Oper Commands

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. IRCops only

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. IRCops only

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. IRCops Only

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 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. IRCops Only

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 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. IRCops Only

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. IRCops Only

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

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. IRCops Only

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. IRCops Only

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. IRCop only

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. IRCops Only

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. IRCops Only

RESTART [password] If the correct password is provided, and you are an operator, this command will restart
the local server. IRCops Only

RSQUIT [servermask] This causes a remote server, specified by the servermask, to disconnect from the network without desyncing the network. IRCops Only

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. IRCops only

STATS characters

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 mask bans)

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). IRCops Only.

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). IRCops Only.