# 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 |