Basic IRC Commands
Most IRC clients (IRC programs) are written to use the standard Unix commands. However, not all clients will accept all the Unix commands. Many clients also use modifications of the commands or commands that only work with the particular client. Bear this in mind and read your specific clients documentation for the commands it does support. The commands presented here are the ones most commonly supported by most IRC clients.
There are three syntax conventions that you need to remember with IRC commands.
1. All IRC commands begin with the forward slash, “/”. Anything else you type is considered text typed to the screen as normal conversation.
2. All channel names begin with a pound sign, “#”. There is an exception here. Some channel names will begin with a “&”, but those are few and far between and you may never see them in your travels on IRC.
3. IRC is not case sensitive. So you can use either upper, lower, or mixed case letters if you wish in your commands.
Note: the use of the “#” indicates that the channel name should be substituted…i.e. #newbies in these examples.
/join [#] – use to join a channel. ex. /join #newbies
/part [#] – use to leave a channel
ex. /part #newbies
/leave [#] – same as part ex. /leave #newbies
/quit (message) – use to quit IRC. A quit message may be added to the command, but is optional. ex. /quit see ya later!
/whois [nick] – used to get info on a nick. ex. /whois voyur
/whowas [nick] – used to get info on a nick that has just left IRC or a person who has just changed their nick. ex. /whowas voyur
/who [#] – shows nicks, addresses, and optional user info if available for users on a channel. ex. /who #newbies
/names – shows nicks of users on a channel. ex. /names #newbies
/msg [nick] [message] – sends a private message (whisper) to a user. ex. /msg voyur hello there
/query [nick] – opens a new window for private dialog with a nick. ex. /query voyur
/nick [newnick] – if I wanted to change my current nick, voyur, to voy, I would use this command. ex. /nick voy
/me [action describe] – If you typed this example, it would be displayed as *voyur waves to JP ex. /me waves to JP
/away [away message] – use to tell others you are not currently at your computer. A message can be included. To set yourself back, type /away again.
/list – requests a list of currently formed channels from the server. The listing you request is not updated until you issue the request again. ex. /list
/invite [nick] [#] – use to invite a nick who is elsewhere on IRC to join you on a channel. ex. /invite voyur #newbies
/ignore [nick/address] – use to prevent someone from talking to you. The persons nick or address may be used. ex. /ignore voyur or /ignore *!*email@example.com
/kick [#] [nick] – used to kick a user from the channel. You must be a channel operator to use this command. ex. /kick #newbies voyur
/mode [nick] +i – This is the invisible mode. You are not literally invisible on IRC. Users on the same channel as you still see you there. You are invisible to a user who does a /who or /names. A /whois nick, however, will show your user information and the channels you’re on. ex. /mode voyur +i
Channel Operator and Mode Commands:
Channel operators (also known as hosts or owners) control the channel they are on. They will have an “@” or period “.”; in front of their nick. They are effectively the “bosses” of the channel. There are two ways to become a channel operator. First is by creating a channel. You create the channel by joining a channel that does not currently exist. When you do this, the server sets you as the channel owner. The second way is to be made a operator by an existing operator.
Channel operators maintain control of the channel through the use of channel mode commands. These are commands that only channel operarors have access to, and can be used to perform various functions on the channel.
-only channel operators have access to the following functions
-typing a minus sign “-” in place of the plus sign “+” reversed the command…i.e. +o ops, and -o deops
-the use of “#” indicates that the channel name should be substituted…i.e. #newbies in these examples
Channel Op Commands:
/mode [#] +o [nick] – grant ops to a nick. ex. /mode #newbies +o voyur
/mode [#] +b [address] – ban a nick by their address from the channel. The proper address format is *!*username@*.host.domain. ex. /mode #newbies +b *!*jp@*irc.com
/mode [#] +m – set the channel mode t moderate. This means that only ops can type to the channel. All other are silenced on the channel. ex. /nose #newbies +m
/mode [#] +v [nick] – used in conjunction with the +m mode. After setting to moderate, a user can be given permission to speak by setting the mode to +v. ex. /mode #newbies +v voyur
/mode [#] +s – makes the channel secret. It will not be shown in a channel listing. It can still be joined if the channel name is known. ex. /mode #newbies +s
/mode [#] +p – makes the channel private. The channel cannot be joined unless an invite is issued. The users on the channel can be listed with a /who or a /names command. ex. /mode #newbies +p
/mode [#] +i – makes the channel invite only. You must be invited by another nick on the channel to join. ex. /mode #newbies +i
/mode [#] +t – restricts channel topic changes to operators only. ex. /mode #newbies +t
/mode [#] +n – prevents messages from outside the channel from being sent to the channel. This does not affect personal messages to individual users. ex. /mode #newbies +n
/mode [#] +l [number] – limits the number of users that may occupy the channel. In this example, the limit is 6 users. ex. /mode #newbies +l 6
/mode [#] +k [keyword] – sets a password for the channel. Cannot join without typing /join #channelname [keyword]. ex. /mode #newbies +k shazam
CTCP and DCC Commands
CTCP stands for Client-To-Client-Protocol. The CTCP command performs certain client specific functions on the IRC network. It permits you to find out various kinds of information and perform some useful functions on IRC. Many clients allow you to use CTCP to customize various functions, such as setting up a file server on your system, or providing a means to grant op status to users when you are not there to do it yourself. CTCP commands can also be disabled by the user, so don’t be suprised if you get no information back from a user when you initiate certain CTCP requests to them.
DCC is Direct-Client-to-Client. This is probably one of the most useful and desirable functions on IRC. With DCC you can send and receive files and chat directly, privately, and securely to someone on IRC. The DCC channel is not subject to lag and is secure because it does not use the IRC chat channels to tramsmit information. It forms a direct link between two users (hence direct-client-to-client).
CAUTION!! As useful as DCC is, you should be very cautious about recieving files. NEVER accept a file from someone you don’t know or trust! Just like the real world, there are viruses lurking out there, and there are jerks on IRC just waiting to send system corrupting files to unsuspecting users. At the very least, run a virus scan on a file before you execute it. It will save you lots of headaches in the long run.
/ctcp [nick] ping – ping is used to determine the amount of time it takes for your signal (messages) to get to another nick and back in seconds. It measures the amount of lag time for the message. Excessive lag can make communication difficult.
/ctcp [nick] version – version is used to query a nicks’ client for the type or name of the IRC program they are running
/ctcp [nick] finger – finger gives additional information about a nick. Sometimes it’s not much different from the /whois [nick] information
/ctcp [nick] userinfo – the userinfo ctcp function usually gives about the same information as the finger reply
/ctcp [nick] clientinfo – clientinfo ctcp function will tell you what functions are active on the nicks’ client. Can be useful if you want to know if things like DCC, ping, or finger are active on their system
/ctcp [nick] time – this checks the local date and time on a nick’s computer. I guess it might be useful if you wanted to know what time it was in Australia, if you were talking to an Aussie
/dcc chat [nick] – this initiates a dcc session with the specified nick. Since the connection does not go through the IRC network channel, it is the most secure type of communication with another user. Depending on your client, you will probably get some kind of message asking you to accept the DCC chat request.
/dcc send [nick] [filename] – this command initiates a filesend to the designated nick. The file name and the full path of the file on your system must be specified.
/dcc get [nick] [filename] – this command acknowledges and accepts a DCC file transfer initiated by another user to you. Once you have typed the GET response, the file transfer to you will begin.
/dcc close [nick] – use this command to refuse a DCC file offer or chat request sent to you, or to stop a DCC transfer that is in progress, or to close a DCC chat session.
/dcc list – use this function to get a listing of currently active DCC connections that you have going.