Quick Reference
The 10 most essential IRC commands every user should know. Master these and you can navigate any IRC network.
| Command | Description |
|---|---|
| /join #channel | Join a channel |
| /part #channel | Leave a channel |
| /msg nick message | Send a private message |
| /nick newnick | Change your nickname |
| /whois nick | Get info about a user |
| /quit message | Disconnect from IRC |
| /me action | Perform an action |
| /topic #channel text | Set channel topic |
| /kick #channel nick | Kick a user (ops only) |
| /mode #channel +o nick | Give operator status |
Basic Commands
These fundamental commands handle everyday IRC communication. Every IRC user should be comfortable with these.
Joins the specified channel. If the channel does not exist, it will be created and you will be given operator status. You can join multiple channels separated by commas. If the channel has a key (password), provide it after the channel name.
Leaves the specified channel. You can optionally include a part message that other users in the channel will see when you leave. If no channel is specified, some clients will leave the current active channel.
Disconnects you from the IRC server entirely. Your quit message will be displayed to all users in channels you were in. If no message is provided, your client may use a default quit message.
Sends a private message to the specified user or service. Only the recipient will see the message. This is also the command used to interact with IRC services like NickServ and ChanServ.
Similar to /msg, but sends a notice instead. Notices are typically displayed differently by clients (often in a status window rather than opening a new chat tab). By convention, bots and services use notices for replies to avoid creating message loops.
Changes your current nickname. The new nickname must not already be in use on the network. Nicknames are typically limited to 30 characters and can contain letters, numbers, hyphens, underscores, and brackets. All users in your channels will see the nick change.
Sends an action message to the current channel. Instead of appearing as a regular chat message, it displays as an action. For example, if your nick is "Neo", typing "/me dodges bullets" would display as "* Neo dodges bullets" in the channel.
Marks you as "away" with an optional message. When someone tries to /msg you or /whois you, they will see your away message. To remove the away status and mark yourself as available again, use /away with no arguments. Some clients also support the /back command as a shortcut.
Displays information about a user including their hostname (or cloak), the channels they are in, their real name, the server they are connected to, and whether they are away. Using a "double WHOIS" (specifying the nick twice) also shows the user's idle time and signon time.
Returns a list of users matching the specified pattern. When used with a channel name, it lists all users currently in that channel along with their hostnames and status flags. Useful for seeing who is in a channel or finding users on the network.
Displays a list of all public channels on the network along with their user counts and topics. On large networks, this list can be very long. Many clients offer filtering options to narrow down the results. Secret (+s) channels will not appear in the list.
Channel Management Commands
Commands for channel operators to manage their channels. These require operator (@) or higher status in the channel.
Without arguments, displays the current topic for the channel. With a message, sets the channel topic. If the channel has mode +t set, only operators can change the topic. The pipe character (|) is commonly used as a separator in topics.
Removes the specified user from the channel. Requires channel operator status. The kicked user can rejoin unless they are also banned. An optional reason message can be included that will be displayed to the channel when the user is kicked.
Bans a user from joining or speaking in the channel. Bans use hostmasks in the format nick!user@host, with wildcards (*) for pattern matching. Note that banning does not kick the user; you typically want to kick them as well. Use -b to remove a ban, or +b with no argument to list current bans.
Sends an invitation to the specified user to join a channel. This is required for invite-only (+i) channels. The invited user will receive a notification and can then join the channel. On most networks, only channel operators can send invites to +i channels.
The /mode command is used to set and unset various channel and user modes. Use + to enable a mode and - to disable it. Multiple modes can be combined in a single command.
| Mode | Name | Description |
|---|---|---|
| +o | Operator | Gives/removes channel operator status (@) |
| +v | Voice | Gives/removes voice status (+), can speak in +m channels |
| +b | Ban | Bans a hostmask from joining or speaking |
| +i | Invite Only | Only invited users can join the channel |
| +m | Moderated | Only voiced (+v) and operators can send messages |
| +k | Key | Requires a password to join the channel |
| +l | Limit | Sets a maximum number of users in the channel |
| +n | No External | Prevents messages from users not in the channel |
| +t | Topic Lock | Only operators can change the channel topic |
| +s | Secret | Channel is hidden from /list and /whois |
NickServ Commands
NickServ manages nickname registration and identification. All NickServ commands use the syntax: /msg NickServ COMMAND arguments
Registers your current nickname with NickServ. You must provide a password and a valid email address. The email is used for password recovery and verification. Once registered, your nickname is protected and other users cannot use it while you are identified.
Identifies you as the owner of your registered nickname. You should do this every time you connect to the network. Most IRC clients can be configured to automatically identify on connection using a "perform on connect" script or SASL authentication.
Changes the password for your registered nickname. You must be identified to use this command. Choose a strong password that you do not use on other services.
Updates the email address associated with your registered nickname. Used for password recovery and important notifications from the network.
Displays registration information for a nickname, including when it was registered, when it was last seen, and any metadata the owner has set. Some details may be hidden depending on the user's privacy settings.
Disconnects an old or "ghost" session that is still using your registered nickname. This is useful when you get disconnected and your old session has not timed out yet, preventing you from using your nick. After ghosting, you can then change to your preferred nick with /nick.
Links an additional nickname to your primary registered account. You must be identified to your main account first, then switch to the new nickname and use GROUP to link it. This lets you own multiple nicknames under one account with shared settings and access privileges.
Unregisters a nickname, making it available for anyone to use. If the nickname is grouped to your account, it will be unlinked. Use this with caution, as the action cannot be undone. You will need to re-register the nickname if you want it back.
ChanServ Commands
ChanServ manages channel registration and persistent settings. All ChanServ commands use the syntax: /msg ChanServ COMMAND #channel arguments
Registers a channel with ChanServ. You must be in the channel and have operator status. Your registered NickServ account becomes the channel founder, giving you full control over the channel settings and access list. Registration prevents the channel from being taken over and preserves settings across network restarts.
Configures various persistent settings for your registered channel. Common settings include GUARD (keeps ChanServ present in the channel), KEEPTOPIC (preserves the topic across restarts), DESCRIPTION (sets a channel description), and URL (sets a channel URL). Available settings vary by network.
Manages the channel access list, which controls who gets automatic privileges when they join. You can grant users roles like VOICE (auto-voice), OP (auto-op), or higher levels. Users must be registered with NickServ and identified to receive their automatic privileges.
Grants or removes channel operator status through ChanServ. This is useful when you need ops but do not have them (for example, if you just joined and auto-op is not configured). You must have sufficient access on the channel's access list to use these commands.
Kicks or bans users through ChanServ without needing to be opped in the channel yourself. ChanServ will perform the action on your behalf if you have sufficient access. This is convenient when you want to moderate without visibly being an operator.
Sets the channel topic through ChanServ. The topic will be set even if the channel has mode +t and you are not currently opped. Requires appropriate access on the channel's access list.
Displays registration information for a channel, including the founder, registration date, description, URL, and current settings. Useful for checking who owns a channel and how it is configured.
Advanced Commands
Power-user commands for those who want to dig deeper into the IRC protocol.
CTCP (Client-to-Client Protocol) allows you to send special queries to other users. Common CTCP queries include VERSION (what client they are using), PING (measure round-trip latency), and TIME (their local time). The remote client responds automatically. Some users disable CTCP responses for privacy.
DCC (Direct Client-to-Client) establishes a direct connection between two users, bypassing the IRC server. DCC SEND transfers files directly, while DCC CHAT creates a private chat that does not go through the server. Note that DCC requires direct network connectivity and may not work behind certain firewalls or NAT configurations.
Authenticates you as an IRC operator (IRCop) on the server. This is only available to network administrators who have been given operator credentials in the server configuration. IRCops have network-wide powers including the ability to kill connections, set network bans (K-lines), and manage servers.
Sends a network-wide message to all users who have user mode +w (wallops) set. Typically used by IRC operators for network announcements. Regular users can set +w to receive wallops messages but cannot send them unless they are opered.
Connects to a different IRC server. This will typically disconnect you from your current server. The exact syntax may vary between IRC clients. Some clients use /server for switching and offer a separate command for connecting to additional networks without disconnecting from the current one.
Tips & Tricks
Tab Completion
Press Tab after typing the first few letters of a nickname to auto-complete it. This works in most IRC clients and saves time, especially with long nicknames. It also prevents typos.
Ignore Annoying Users
Use /ignore nick to block messages from a user. This is a client-side setting that hides all messages from the specified user. Most clients also support ignoring by hostmask for more precise filtering.
Auto-Identify on Connect
Configure your client to automatically identify with NickServ when you connect. Most clients have a "perform on connect" setting where you can add /msg NickServ IDENTIFY password. Even better, use SASL authentication for seamless login.
Always Use SSL
Always connect using SSL/TLS on port 6697. This encrypts your connection between your client and the server, preventing eavesdropping on your messages and protecting your login credentials from being intercepted.
Use a Bouncer for Persistence
Set up an IRC bouncer like ZNC to stay connected 24/7 and keep message history. When you disconnect, the bouncer stays online and records messages. When you reconnect, you see everything you missed. TwistedNET also offers The Lounge as a persistent web client.
Enable User Mode +x
Use /mode yournick +x to enable hostname cloaking (if supported). This replaces your real hostname with a cloaked version in /whois queries, adding an extra layer of privacy by hiding your IP address or ISP from other users.
Practice on TwistedNET
Put these commands to use! Connect to TwistedNET and start chatting. The best way to learn IRC is by doing it.