Skip to content
IRCv3 — Modernization
step 1/5

Reading — step 1 of 5

Read

~1 min readModern IRC

IRCv3 — Modernization

IRC's classic spec dates from 1993 (RFC 1459). Many things missed. IRCv3 is the working group that has added (since 2013):

Capability negotiation:

  • Servers advertise features via CAP LS.
  • Clients request specific features via CAP REQ.
  • Avoids ambiguity of dialects.

SASL (RFC 4422):

  • Authenticate during registration.
  • Replaces NickServ post-connect identification.
  • Works with PLAIN, EXTERNAL (TLS cert), SCRAM-SHA-256.

Message tags (CAP message-tags):

  • Per-message metadata (key=value pairs).
  • Server-time tag: original message time (for buffer playback).
  • Account tag: user's account name.
  • Reply tag: reply-to message ID.
@time=2024-05-13T10:30:00.000Z;account=alice :alice!a@host PRIVMSG #foo :hi

Server-time (server-time cap):

  • Show original timestamp for buffered messages.
  • Important for bouncers/playback.

Echo-message (echo-message cap):

  • Server echoes your sent message back.
  • Used to confirm delivery + assign IDs.

Multi-prefix (multi-prefix cap):

  • 353 NAMES: show all user prefixes (@%+, not just highest).

Chat history (chathistory):

  • Request message history from server.

Account-tag (account-tag cap):

  • Account name in message tags.
  • Identity stable across nick changes.

Standard replies (RPL/ERR new codes):

  • WHOIS now returns more info.
  • Standardized across implementations.

Message IDs (msgid tag):

  • Per-message unique ID.
  • Threading, references, deletions.

Bot mode (+B):

  • Mark account as a bot.
  • Helps clients filter.

WebSocket transport:

  • IRC over WSS.
  • Browser clients possible.
  • Used by Convos, Kiwi IRC.

Modern client + modern server (Ergo) provide a rich experience comparable to Slack/Discord while keeping IRC's federation and simplicity.

Caveats: not all servers/networks support all CAPs. Older networks (Undernet, EFnet) lack many.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…