Vendor Specifications

The capability negotiation feature of IRCv3 makes it possible for servers and bouncers alike to extend the base IRCv3 feature set.

This page is meant to act as a index of all of those known specifications. We do this to help others discover features they may be looking to implement themselves and so that Ibis can provide constants for its users.

Bouncers

A Bouncer is an IRC client that is also an IRC server. It connects to any number of IRC servers as a client on your behalf and then acts as a server so that your normal IRC client can connect to it.

Bouncers are useful because they stay connected all the time and keep track of message history while you are offline or moving between clients/computers. They can also increase your privacy as the bouncer’s IP address will be exposed instead of your client’s.

Pounce

pounce — IRC pouncer :3

Specifications

Extension Description
causal.agency/consumer Lets a client ensure no messages are missed, even in case of network issues or application crashes.
causal.agency/passive Indicates that a client should not affect the automatic away status.

Soju

A user-friendly IRC bouncer https://soju.im

Specifications

Extension Description
soju.im/account-required Deprecated. See ircv3.net/specs/extensions/account-registration#isupport-token.
soju.im/bouncer-networks Lets clients discover servers that are bouncers, list and edit upstream networks the bouncer is connected to.
soju.im/client-cert Allows clients to manage TLS client certificates that are accepted for authentication with SASL EXTERNAL. Such certificates are called “pinned certificates”.
soju.im/FILEHOST Offers a way for servers to advertise a hosting service for users to upload files (such as text or images), so they can post them on IRC.
metadata Additional IRCv3 metadata keys.
no-implicit-names Deprecated. See no-implicit-names.
read Deprecated. See read-marker.
soju.im/SAFERATE An isupport token that when advertised, the server ensures that a client will not be disconnected due to server rate-limiting.
soju.im/search Enables clients to run a server-side search of messages according to specified selectors.
soju.im/webpush Support for push notifications.

ZNC

ZNC, an advanced IRC bouncer

Specifications

Extension Description
znc.in/batch Deprecated. See batch
znc.in/playback Plays back history from a specific point.
znc.in/self-message Sends QUERY messages to all connected clients.
znc.in/server-time Deprecated. See server-time
znc.in/server-time-iso Deprecated. See server-time

Servers

IRC servers are what connects clients together and lets the magic happen.

Ergo

Ergo Modern IRC software and communities

Specifications

Extension Description
ergo.chat/nope A capability that MUST NOT be requested which is meant to filter out clients that blindly request every capability.

Twitch.tv

Twitch.tv is a live streaming site that supports IRC for chat.

IRC Specific Documentation

Specifications

Extension Description
twitch.tv/commands Lets your bot send PRIVMSG messages that include /me, and receive Twitch-specific IRC messages.
twitch.tv/membership Lets your bot receive JOIN and PART messages when users join and leave the chat room.
twitch.tv/tags Adds additional metadata to the command and membership messages. For the list of metadata available with each message, see Twitch tags. To request the tags capability, you must also request the commands capability.