website/content/docs/ircv3.md

50 lines
2.7 KiB
Markdown

# IRCv3 capabilities
Clients negotiate capabilities with `CAP LS` / `CAP REQ`. echoIRCd advertises the following.
`draft/multiline`, `sasl`, and `draft/account-registration` carry `=`-value parameters (limits, the
SASL mechanism list, enabled sub-features) to CAP-302 clients.
## Ratified
| Capability | Meaning |
| --- | --- |
| `sasl` | SASL authentication (mechanism list attached for CAP 302) |
| `server-time` | A `time=` tag with each message's server timestamp |
| `message-tags` | Generic message-tag support, including relaying client `+` tags |
| `multi-prefix` | Show all of a member's status prefixes in NAMES/WHO |
| `away-notify` | Real-time AWAY / back notifications |
| `account-notify` | Notify when a user logs in/out of an account |
| `extended-join` | JOIN carries the account name and realname |
| `chghost` | Real-time host/ident change notifications |
| `userhost-in-names` | Full `nick!user@host` in NAMES |
| `echo-message` | Echo the sender's own PRIVMSG/NOTICE back |
| `invite-notify` | Notify channel ops when a user is invited |
| `setname` | Real-time realname change notifications |
| `extended-monitor` | MONITOR reflects extended state changes |
| `account-tag` | An `account=` tag identifying the sender's account |
| `standard-replies` | Structured `FAIL` / `WARN` / `NOTE` replies |
| `labeled-response` | Correlate a command with its response via `label` |
| `batch` | Group related messages into a `BATCH` |
| `cap-notify` | Tell the client when caps are added/removed |
## Draft & vendor
| Capability | Meaning |
| --- | --- |
| `draft/chathistory` | Request replay of past channel/DM messages |
| `draft/event-playback` | Include channel events (JOIN/PART/QUIT/NICK/MODE/TOPIC/KICK) in history |
| `draft/message-redaction` | `REDACT` a previously-sent message |
| `draft/pre-away` | Set AWAY during registration |
| `draft/metadata-2` | Per-user/channel arbitrary metadata |
| `draft/multiline` | Send one logical message across multiple lines |
| `draft/account-registration` | In-band account `REGISTER` / `VERIFY` |
| `draft/json-log` | Structured JSON tag on server notices (opers) |
| `draft/extended-isupport` | Re-request ISUPPORT (005) tokens on demand |
| `draft/relaymsg` | Send channel messages under a spoofed relay nick (bridges) |
| `draft/channel-rename` | Rename a channel in place (`RENAME`) |
| `draft/read-marker` | Per-conversation read-marker sync across devices |
| `draft/webpush` | Web Push subscription for backgrounded/away notifications |
| `draft/filehost` | Advertise an external file-host + signed upload links |
| `no-implicit-names` | Suppress the automatic NAMES burst on JOIN |
For SASL mechanisms, see [Accounts & SASL](/docs/accounts).