/ircv3

IRCv3 support.

A reference of the IRCv3 extensions bIRC supports.

Supported · draft work-in-progress · names link to the IRCv3 spec.

Core & message format

capability-negotiationCAP 302 negotiation — paged LS, REQ / ACK / NAK, and live NEW / DEL.
message-tagsThe tag format every client tag below rides on.
oper-tagdraftMarks operator messages — a server-set tag (draft/oper + solanum.chat/oper).
batchNested batches; drives history, netsplit, and multiline.
client-batchdraftClient-initiated batches — the mechanism bIRC uses to send a multiline message.
message-idsA msgid on every message — keys reactions, replies, redaction, and dedup.
server-timeServer-supplied timestamps, so replayed history keeps its original time.
echo-messageThe server echoes your own sends; bIRC shows them once.
labeled-responseCorrelates a reply to the command that caused it.
standard-repliesFAIL / WARN / NOTE parsed and surfaced.
extended-isupportdraftFetch the ISUPPORT list on demand.

Accounts, presence & membership

account-notifySee when others log in to or out of an account.
account-tagThe sender's account on each message.
away-notifyLive away status for people in your channels.
chghostA user/host change without a quit and rejoin.
extended-joinJOIN carries the account and real name.
extended-monitorAway / account / host changes for watched users too.
invite-notifySee invites sent in a channel.
monitorWatch nicks (the Notify List), with an ISON fallback where absent.
multi-prefixAll of a member's prefixes (@%+), not just the highest.
userhost-in-namesnick!user@host in NAMES, not just the nick.
no-implicit-namesSkip the implicit NAMES burst after JOIN when offered.
setnameChange your real name live (/setname).
whoxExtended WHO with field selection.
bot-modeBots are flagged in the member list, WHOIS, and the script API.
account-extbanBan by account (Ban Account / /banaccount).

Authentication & connection

sasl-3.1PLAIN and EXTERNAL (CertFP).
sasl-3.2Reauthentication; plus SCRAM-SHA-256 and OAUTHBEARER.
stsAuto-upgrade to TLS and remember the secure port.
utf8-onlyUTF-8 enforced both ways when the network requires it.
websocketConnect to ws:// / wss:// networks.

History & long messages

chathistorydraftCHATHISTORY paging plus the chathistory batch.
event-playbackdraftReplays joins / parts / etc. alongside message history.
read-markerdraftSync your read position across clients (MARKREAD).
multilinedraftSend a multi-line or over-length message as one message.
message-redactiondraftRedact your last message (/redact).
netsplit / netjoinQuit / join floods collapse into a single line.

Client-only tags

+typingTyping indicators.
+replyThreaded replies, with jump-to-parent.
+reactdraftEmoji / text reactions.
+channel-contextShow a tagged DM in its channel (inbound).

Files, metadata & other drafts

FILEHOSTdraftUpload a file to the server's own host and post the link — draft/FILEHOST (PR #562) and soju.im/FILEHOST.
metadatadraftView / edit avatar, color, pronouns, status… (draft/metadata-2).
network-icondraftShow the network's icon.
channel-renamedraftRename a channel (/rename).
account-registrationdraftRegister and verify an account (/register, /verify).
pre-awaydraftMark away during connect, before registration finishes.

Vendor & adjacent

soju.im/bouncer-networksvendorList, add, edit, and remove a soju bouncer's upstream networks.
znc.in/playbackvendorResume history on older ZNC bouncers.
znc.in/self-messagevendorSee messages you sent from another client.
STARTTLSUpgrade a plaintext connection to TLS in-band. (Deprecated spec.)
OAUTHBEAREROAuth 2.0 token login — SASL, RFC 7628.

Per-feature notes live in the documentation; the spec index is at ircv3.net.