RPL ISUPPORT Tokens

From the makers of InspIRCd.
Jump to: navigation, search

The RPL_ISUPPORT numeric (005) is a mechanism for advertising the supported features of an IRC server to connecting clients. Most, if not all, clients support this numeric, and InspIRCd specifies a number of tokens in this numeric, some of which are InspIRCd specific. An example RPL_ISUPPORT numeric is as follows:

:test2.chatspike.net 005 Brain WALLCHOPS WALLVOICES MODES=20 CHANTYPES=# PREFIX=(qaohv)~&@%+ MAP MAXCHANNELS=20 MAXBANS=60 VBANLIST :are supported by this server
:test2.chatspike.net 005 Brain NICKLEN=31 CASEMAPPING=rfc1459 STATUSMSG=@%+ CHARSET=ascii :are supported by this server
:test2.chatspike.net 005 Brain TOPICLEN=307 KICKLEN=255 MAXTARGETS=20 AWAYLEN=200 CHANMODES=Ibeg,k,JLfjl,BCDGKMNOQRSTVcimnpstu FNC :are supported by this server
:test2.chatspike.net 005 Brain NETWORK=Blah MAXPARA=32 ELIST=MU REMOVE SSL=192.168.1.10:6661 OVERRIDE WATCH=32 :are supported by this server
:test2.chatspike.net 005 Brain SAFELIST NAMESX EXCEPTS=e INVEX=I :are supported by this server

All of the supported tokens are documented below:


WALLCHOPS

This token takes no parameters, and indicates that it is possible to send a message to all channel operators with PRIVMSG @#channel :message.

WALLVOICES

This token takes no parameters, and indicates that it is possible to send a message to all channel voiced users with PRIVMSG +#channel :message.

MODES

This token takes one parameter and shows the maximum number of possible modes per line. For example

MODES=19

CHANTYPES

This token takes one parameter and indicates the supported channel prefix. In InspIRCd this usually just contains #, as shown below:

CHANTYPES=#

PREFIX

This token shows which user privilege prefixes are supported. Depending on the modules this may contain ~ and & for +qa channel modes, and % for halfop support. For example:

PREFIX=(qaohv)~&@%+

MAP

This token is always present and indicates support for the MAP command.

MAXCHANNELS

This token has one parameter which shows the maximum number of channels a normal user may be on. Opers may inhabit more channels in InspIRCd.

MAXBANS

This token has one parameter which shows the maximum number of bans which may be stored on a channel banlist. Other lists such as +e and +I if available have equal size but their own list.

VBANLIST

This token, which is always set, indicates that banlist sizes may vary from channel to channel. If the channel banlist size does vary, it is set by the server administrator in the configuration file.

NICKLEN

This token has one parameter showing the maximum length of nicknames.

CASEMAPPING

This token has the fixed value 'rfc1459' which indicates that the case mapping for matching nicknames, etc, is the same as the one specified in RFC 1459.

STATUSMSG

This token lists the possible prefixes that you may message with STATUSMSG. It usually has the value '@%+' meaning that a PRIVMSG to ops, halfops or voices only is supported. See also WALLCHOPS and WALLVOICES.

CHARSET

This token indicates the character set in use by the server, which should always be 'ascii'.

TOPICLEN

The maximum length of a topic.

KICKLEN

The maximum length of a kick message

MAXTARGETS

The maximum number of items in any comma seperated list such as for a multiple target PRIVMSG or NOTICE.

AWAYLEN

The maximum length of an away message.

CHANMODES

This token is split into four lists. The first list contains modes which are list modes, taking one parameter to add and remove an item from the list. The second list contains modes which require a parameter to add and remove, but are not list modes, such as +k for setting a key. The third list contains modes which require a mode only to be set, e.g. +l for setting a channel limit. The fourth list contains all other modes which have no parameters. For example:

CHANMODES=Ibeg,k,JLfjl,CGKMNOQRSTVcimnprstuz

FNC

Indicates that the network supports forced nick changes (may change the user's nickname without their request to do so). This is required for networks supporting services and should always be available on InspIRCd.

NETWORK

Indicates the network's displayed name, used by clients to select 'perform' lists and logon scripts to execute for the network. For example:

NETWORK=ChatSpike

MAXPARA

This is an InspIRCd specific token indicating the maximum number of parameters to any command. The default is 32, which is above the RFC specified limit of 12.

ELIST

Indicates that enhanced LIST capabilities are available.

EXCEPTS

The single parameter to this token indicates the mode letter for representing ban exception lists.

INVEX

The single paramter to this token indicates the mode letter for representing automatic invite lists.

OVERRIDE

This InspIRCd-specific token, when set, indicates that IRC operators may override modes and channel security.

SILENCE

When m_silence.so is loaded, the maximum number of items on a silence list.

USERIP

Indicates that the USERIP command is supported.

WATCH

When m_watch.so is loaded, the maximum number of items on a watch list.

SECURELIST

This InspIRCd specific token indicates that secure listing is enabled, and that your initial request for a channel list on connect may be denied until you have been connected for a certain amount of time.

SAFELIST

This token indicates that channel listing is throttled so that it will not flood your client off the server.

NAMESX

This token indicates that the NAMESX extension is supported (enabled by m_namesx.so)

SSL

This InspIRCd specific token lists the ports and IP addresses SSL may be found on. Each ip and port pair are separated by a colon (:) character and multiple port/ip pairs are seperated by semicolons (;). For example:

SSL=1.2.3.4:6668;4.3.2.1:6669;*:6660;

Note that where SSL is supported on all IPs for a given port, the IP is defined as '*'.

STARTTLS

This token indicates that STARTTLS is supported on the non-SSL ports for this server. See STARTTLS_Documentation for information on client support for this feature