website/content/docs/commands.md

150 lines
5.7 KiB
Markdown

# Command reference
Every command echoIRCd implements. Client commands are available to all users; operator commands
require `+o` and may be further restricted by your oper type (see [Operators](/docs/operators)).
## Client commands
### Connection & session
| Command | Purpose |
| --- | --- |
| `NICK` | Set or change nickname |
| `USER` | Register username/realname during registration |
| `PASS` | Supply a connection password before registration |
| `PING` / `PONG` | Liveness keepalive |
| `QUIT` | Disconnect |
| `AWAY` | Set or clear away status |
| `CAP` | Negotiate IRCv3 capabilities |
| `AUTHENTICATE` | SASL authentication handshake |
| `SETNAME` | Change realname (IRCv3) |
| `VHOST` | Claim a configured self-service virtual host |
| `WEBIRC` | Gateway declares the real client host/IP |
### Channels
| Command | Purpose |
| --- | --- |
| `JOIN` / `PART` | Join / leave channels |
| `TOPIC` | View or set a channel topic |
| `KICK` / `REMOVE` | Remove a user (REMOVE shows as a PART); halfop+ |
| `INVITE` / `UNINVITE` | Invite or revoke a pending invite |
| `KNOCK` | Request an invite to an invite-only channel |
| `CYCLE` | Part and immediately rejoin |
| `RENAME` | Rename a channel in place (op+) — see [Channel rename](/docs/ircv3#channel-rename) |
| `TBAN` | Set a temporary, auto-expiring channel ban |
| `NAMES` | List channel members |
| `MODE` | Query or change channel/user modes |
| `PROP` | Set/query channel modes by long name instead of letter |
| `RMODE` | Bulk-remove list-mode entries (`+b`/`+e`/`+I`) by pattern |
### Messaging
| Command | Purpose |
| --- | --- |
| `PRIVMSG` / `NOTICE` | Message a channel or user |
| `TAGMSG` | Send client-only tags (typing, reactions) with no body |
| `CHATHISTORY` | Replay recent channel/DM history |
| `REDACT` | Delete a sent message (author, halfop+, or oper) |
| `MARKREAD` | Set/query a per-conversation read marker |
| `SILENCE` | Server-side ignore of incoming messages |
| `SIGNORE` | Mutual (two-way) server-side ignore |
| `ACCEPT` | Manage the caller-id (`+g`) allow-list |
| `DCCALLOW` | Manage nicks permitted to DCC you |
### Information
| Command | Purpose |
| --- | --- |
| `WHOIS` / `WHO` / `WHOWAS` | Look up users, current and historical |
| `LIST` | List channels with counts and topics |
| `LUSERS` | User/server counts |
| `VERSION` / `TIME` / `ADMIN` / `INFO` / `MOTD` | Server information |
| `HELP` | Built-in help topics |
| `LINKS` / `MAP` | Known servers / topology |
| `ISON` / `USERHOST` | Online status / host lookup |
| `SSLINFO` | TLS status + client-cert fingerprint (querying others needs oper) |
| `STATS` | Server statistics (`uptime` open to all; other letters oper-only) |
| `ISUPPORT` | Re-send the ISUPPORT (005) tokens |
| `WATCH` / `MONITOR` | Online/offline notify lists |
### IRCv3 & accounts
| Command | Purpose |
| --- | --- |
| `BATCH` | Client side of multiline |
| `METADATA` | GET/LIST/SET/CLEAR user/channel metadata |
| `WEBPUSH` | Register/unregister Web Push subscriptions |
| `EXTJWT` | Issue a server-signed JWT proving IRC identity |
| `FILEHOST` | Request a signed file-upload link |
| `SECURITYGROUPS` | List the security groups a user is in |
| `TITLE` | Claim a configured custom title/vhost |
| `REGISTER` / `VERIFY` | In-band account registration |
| `CAPTCHA` / `VERIFYCHALLENGE` | Present a human-verification token |
| `RELAYMSG` | Send a channel message under a spoofed relay nick (oper) |
## Operator commands
Commands marked *typed* are further gated by your oper type's command set; an untyped ("legacy")
oper has them all.
### Network bans (X-lines)
| Command | Purpose |
| --- | --- |
| `KILL` | Forcibly disconnect a user |
| `KLINE` / `GLINE` / `ZLINE` | Ban a `user@host` (this server / network-wide / by IP) |
| `QLINE` | Reserve/forbid a nick glob |
| `ELINE` | Exempt a mask from K/G/Z-lines |
| `RLINE` | Ban users matching a regular expression |
| `SHUN` | Let a user connect but silently drop their commands |
| `CBAN` | Forbid a channel-name glob |
| `TLINE` | Report how many users a would-be ban mask would match |
### Services / SA overrides
| Command | Purpose |
| --- | --- |
| `SAJOIN` / `SAPART` | Force a user in/out of a channel |
| `SANICK` | Force a nick change |
| `SAKICK` | Kick a user as the server |
| `SAMODE` | Apply a channel MODE with server authority |
| `SATOPIC` | Set a topic as the server |
| `SAQUIT` | Force a user to quit |
| `CLEARCHAN` | Kick everyone out of a channel |
| `SVSNICK` / `SVSJOIN` / `SVSPART` / `SVSMODE` | Services forcing nick/join/part/modes |
| `SVSLOGIN` / `SVSLOGOUT` | Services log a user in/out of an account |
| `NICKLOCK` / `NICKUNLOCK` | Force and lock a nick, or release it |
### Host / identity
| Command | Purpose |
| --- | --- |
| `CHGHOST` / `CHGIDENT` / `CHGNAME` | Change another user's host / ident / realname |
| `SETHOST` / `SETIDENT` / `SETIDLE` | Change your own host / ident / idle |
| `SWHOIS` | Attach an extra WHOIS line to a user |
### Broadcast & network
| Command | Purpose |
| --- | --- |
| `WALLOPS` | Message all users with `+w` |
| `GLOBOPS` | Message all operators |
| `CONNECT` / `SQUIT` | Dial / disconnect a server link |
| `DIE` / `RESTART` | Shut down / restart the server |
| `REHASH` | Reload the configuration |
| `OPER` | Authenticate as an operator |
### Oper tools
| Command | Purpose |
| --- | --- |
| `CHECK` | Diagnostic dump for a nick or channel |
| `MODULES` | List loaded modules |
| `MKPASSWD` | Hash a password into a config-ready credential |
| `FILTER` | Manage spam/word filters |
| `REPUTATION` | Show or set a masked address's reputation |
| `GEOIP` | Report the country of a user or IP |
| `OJOIN` | Join a channel as network staff |
| `ALLTIME` | Show the server time to opers |
| `OPERMOTD` | Show the operator MOTD |