General Internet Relay Chat (IRC) Help

The following is a small extract from the mIRC client FAQ page. That page provides an Introduction to IRC for people using Windows, but much of the information applies regardless of your operating system. We have reproduced brief sections covering the basic commands for IRC.

What exactly is a channel?

A channel is a 'place' on IRC where group conversations occur. People can join the same channel and see each other. Depending on its topic and time of the day a channel can be VERY crowded. Channels can also be quite chaotic, or calm. Channels can be open to everyone but also closed and private and only open to friends. On the large IRC networks (EFnet) as many as 20,000 channels can exist, on smaller networks (corporate or even one-node-nets) there will be fewer channels. Channels on IRC are dynamic in the sense that anyone can create a new channel, and a channel disappears when the last person on it leaves. Once connected to an IRC server, type /list to see all existing channels. All channel names start with a # or a &. The # channels are globally available while the & channels are restricted to users on your local IRC server. For this moment you can forget about the & channels. If people speak of 'the IRC' they refer to the use of the globally available channels with names starting with a #. Whenever you want to refer to a channel's name, it should be prefixed with a # or &. You also need to use the name, including the # or &, to join a channel, to leave it, to set its parameters, etc. (see below)

Now that I've decided on a nice channel, how do I join that channel? And what do I type once I get there? And when I'm done, how do I leave a channel?

To join a channel, type /join #channelname. Try "/join #irchelp" or "/join #mirc" to give it a try... That's it! Once you get to the channel, you will see people talking. It will probably look like this:

    {Avalon} AUUG is on at the same time as LISA this year and is cheaper.
    {Barron} backhaul those DS3s to Virginia ;)
    {Barron} buy a farm
    {FlashPYR} so is .us going to start charging $50/domain, too?
    {Barron} or something
    {Tolim} oops

Note that you will often come in during the *middle* of a conversation. Unless you're familiar with the channel you may want to sit and watch it for a minute or two to see what the conversation is about. Often the channel name (for instance, #Twilight_Zone) has nothing to do with what conversation goes on on the channel (#Twilight_Zone does *not* have discussion about the TV show "Twilight Zone"). So if you join #baseball, don't be surprised if you hear about the SuperBowl picks or even the Rock-n-Roll Hall of Fame Museum! To start talking, just type! And when you're done saying what you have to say, just hit the [return] key. You can start with something simple like "hello!". You don't have to type <nickname> hello! because IRC will insert <nickname> before all of your channel messages. In the channel window that opens once you join a channel you'll see an alphabetical list of people that are on the channel on the right side of the window. Some of them have a @ in front of their name to point out they are the channel operators. A Channel Operator is someone who has control over a specific channel. A Channel Operator can also decide if control is shared or not. The first person to join the channel automatically receives Channel Operator status. In the channel's title bar you will see the channel's name and perhaps its topic. If you choose to leave a channel, just type /part #channelname

Ok, now what are the most basic commands?

With most windows IRC clients an extensive help file is included. Don't hesitate to try the /help command.


The forward slash is the default command character. Commands on IRC are not case sensitive, and can be abbreviated to their first letters. Anything that does not begin with "/" is assumed to be a message to someone and will be sent to your current channel, or to a person you are chatting with in a private chat (see below).

/HELP [command] Shows general help or help on the given command.

/LIST [[{flags}] {channel mask}] Lists all current channels.
In the list you will see all channels (see below), except for those that are secret, with their number of users and the topic. The displayed list may be quite long, so you can limit it using flags. "/LIST -MIN n" for instance removes channels with less than 'n' users from the output.

/JOIN {#channel} Sets your current channel to the supplied channel.
Upon entering a channel, you are given useful details about it: a list of users talking in that channel, channel mode settings and the topic... Joining a channel does not cause you to leave your previous channel and you can normally join as many channels as your connection can handle or that the IRC server allows.

    /JOIN #windows
    *** Now talking in #windows

/PART [#channel] Makes you leave a channel. (same as LEAVE)

    /PART #windows
    *** You have left #windows

/QUIT [reason] Exits your IRC session. (Also BYE and EXIT.)
If a reason is supplied, it is displayed to other people on your channels.

    /QUIT Lunch Time!

/NICK {nickname} Changes your nickname to whatever you like.
Everyone who wants to talk to you sees this name. Nicknames are limited to 9 characters max. If your intended nickname clashes with someone else's as you enter IRC, you will not be able to enter until you change it to something else. Duplicate nicknames are not allowed; this is enforced by the IRC servers. Under some circumstances, two individuals may temporarily have the same nick but once discovered, both of them will be killed (or assigned a new nick -- typically 'Guest' followed by a number); a nick collision kill. If this happens to you, you can try changing to a new nick.

    /NICK Guru
    *** Newbie is now known as Guru

/AWAY [away message] Sets your status as away with some info.
Sets a message explaining that you are not currently paying attention to IRC. Whenever someone sends you a MSG or does a WHOIS on you, they automatically see whatever message you have set. Using AWAY with no parameters marks you as no longer being away.

    /AWAY Gone to get a cup of coffee.
    *** You have been marked as being away
    *** You are no longer marked as being away

/WHOIS {nickname} Shows information about someone.

    /WHOIS Guru
    *** Guru is (Nuclear free)
    *** on channels: @#Windows @#Windows95 #mIRC
    *** on via server (The best server)
    *** Guru is away (making dinner)
    /WHOIS Newbie
    *** Newbie: No such nickname

/INVITE {nickname} {#channel} Invites another user to a channel you are on.
If you want a friend to join your channel you can invite him. He will see a message such as ***Guru invites you to #channel. This is required if your channel is 'invite only'.

    /INVITE Friend #windows
    *** Inviting Friend to #windows
If you receive an INVITE message, you can type "/JOIN {#channel}".

/KICK {#channel} {nickname} Kicks a user off a given channel.
Well, you guessed it, if there is a way to invite someone on a channel, there is also the ablility to KICK someone out of it. For example ,if a person is behaving in an offensive manner by annoying people or flooding the channel with unwanted information, they can be forced out of the channel. Only 'channel operators' are privileged to use this command.

    /KICK #windows Lamer
    *** Lamer has been kicked off channel #windows by Guru

/TOPIC {#channel} {topic for channel} Changes the channel's topic.
Channels have topics, that indicate the current topic of conversation. You can change this topic on a channel with the TOPIC command.

    /TOPIC #windows Lets discuss OS/2
    *** Guru has changed topic to "Lets discuss OS/2"

/ME {action description} Tells people about what you are doing.
At times, you may want to send a description of what you are doing or how you are feeling or just anything concerning you on the current channel or in a query.

    /ME slaps Newbie with a large trout.
    * Guru slaps newbie with a large trout.

The same goal can be achieved towards a specific nickname or channel using:
/DESCRIBE {nickname|#channel} {action description}

Ok, Now I'm ready for some less basic commands.

/MSG {nickname|channel} {text} Sends a (private) message to specified nickname or channel.

Besides chatting on IRC Channels you can also have private conversations or queries with other people on IRC. On most clients these conversations will be handled by separate window. You can use the /MSG command to send someone a message that only that person can read. If somebody else sends you a message or that person replies to your message a query window icon will pop up informing you somebody wants to talk to you personally.

    /MSG Kreet This message can be read by you only.
    *Kreet* This message can be read by you only.

In Kreet's screen an icon will pop up with the message you typed; "This message can be read by you only."

If you cannot wait for a reply for someone to message you to open a private window you can use the query command to force your client to open a private conversation window.

/QUERY {nickname} [test] Starts a private conversation with {nickname} and forces a separate window to open.

This command differs from the MSG command only by the fact that it is used to start a private conversation. All text you type that would normally be sent to your chat partner if you used MSG now displays in an immediately opened private window 'to your chat partner' on your screen and is sent to the other person as well.

/NOTICE {nickname|#channel} {text} Sends a private message to the specified {nickname}or {#channel}.

The NOTICE command is just another way to send messages to other people. But, unlike MSG's, NOTICEs will never open a separate window 'to' the other person. It should be seen as a sort of whispering. It is recommended that robots or other automatons on IRC use notices (contrary to messages) to send information to people. You should never automatically (as by remote events or commands) send a message or notice in response to a notice sent to you.

/NOTIFY [nickname|on|off] Toggles the notify function or adds or removes {nickname} to the notify list.

As you start to meet people on IRC, you will want to add certain nicknames to your notify list such that you will be warned when they sign on or off IRC.

    /NOTIFY wug marl
    *** Added wug to Notify list
    *** Added marl to Notify list
    *** wug is on IRC
    *** resi is on IRC
    *** marl is not on IRC
    *** kreet is on IRC

/IGNORE [nickname|user@host] Ignore all contact from the specified people.

The day will come when you decide not (never?) to see or hear a specific person on your screen. This can be achieved using the ignore command. If people are flooding channels with useless text or they are otherwise harassing you, a wise response is to ignore those person. Ignore can be set to a nickname or by specifying a user@host format. You can use all kind of wildcards.

    /IGNORE loser
    *** Added loser to Ignore list
    *** Ignore is ON
    *** Ignoring: *.*@* *!*ap@ *!*fishy@* loser
    /IGNORE loser
    *** Removed loser from Ignore list