ByteNoise

A Beginner's Guide to IRC

What IRC Is

IRC, short for Internet Relay Chat, is a protocol for the Internet. An Internet protocol is a generally agreed way to get different computers to talk to each other. This one allows people all over the world to talk to each other in realtime. It was invented in Oulu, Finland in August 1988 by Jarkko "WiZ" Oikarinen, and although it isn't as popular as e-mail or the web, it's a fun way of meeting people and making new friends around the world.

Over the decades, IRC has steadily increased in popularity. Although it was originally based on the metaphor of CB radio, using terms like "channels," a lot of people who now use it are unaware of its history. They instead like to compare it to their local pubs, preferring terms like "chat rooms." However you like to picture it, IRC consists of lots of people casually typing away at their computers in order to talk to each other, usually about nothing in particular but rather for the sake of having a nice conversation with familiar people.

As is the case with most other Internet protocols, there are two main pieces of software involved with IRC: one is known as a server or daemon, and the other is known as a client. The server does the hard work behind the scenes, keeping track of who's talking to who, and you don't really need to know how it works any more than you need to know how the telephone network connects your phone calls. The client is the only software you need to learn to use, and although it's a bit more complex than a phone, I'm hoping this article will help you to become familiar with some of its simpler functions.

Like all good Internet protocols, IRC is decentralised. This means that anyone who wants to can set up a server on their own computer. Technical know-how aside, there's nothing stopping you from running your own IRC server and inviting all your friends to talk to each other on it. The "relay" part just means that two people running their own servers can set them up to pass messages along to one another, so whenever you talk to all the people on a channel, you're not just talking to the people on the server you're connected to but also everyone on the server that it in turn is connected to. By daisy-chaining several servers together, large groups of people can all talk on the same channels. At the time of writing (2007), the ten largest networks each have over 20,000 people talking on them, with the largest having over 100,000 users.

Logging On

Let's get started. First of all, you'll need to get an IRC client, which is the application that deals with the technical side of the protocol for you. Pretty much any client will do, such as the popular mIRC for Windows, Colloquy for Mac OS X, or ircII for Unix. Once you've downloaded and installed one of these applications, you're ready to begin.

Each program is slightly different, so it's always a good idea to explore, experiment and read the help files. Don't be afraid to try new things out or deviate from my advice — it would be very difficult to cause any real damage by mistake, so feel safe to wander around.

Once you've opened your IRC application, you should tell it which server you want to connect to. In mIRC, this is done by clicking on "continue" to get past the shareware notice, then clicking on "servers" in the list on the left. You should see what looks like a list of folders, which is actually a list of IRC networks — servers daisy-chained together. Double-click on any one you like to reveal another list, this time showing the actual servers that make up the network. Find the one closest to you (although it doesn't matter too much if it's a country or two away), and double-click it.

If you're using Colloquy, click on "new" and then either type in the name of a server in the "chat server" textbox, or select one from the drop-down list.

ircII is a simple, bare-bones type of application, and doesn't have any list of servers. To connect to a server, you have to specify its name like this:

/server ircnet.demon.co.uk

Whichever client you're using, let's look at what this command does, because you should familiarise yourself with the way commands are given to your application, and they all follow this basic syntax: the forward slash at the beginning tells your application that you're talking to it. You're going to spend much more time talking to real people than talking to computer software, so it makes sense that the latter is the one that needs you to do a bit more typing.

Next is the command "server," which tells your application that you're ready to connect to an IRC server now.

Lastly, you need to supply the name of the server you want to connect to. Although all IRC servers are pretty similar machines, each one has different people talking on it. Some could be private, serving only a few dozen friends, while others might have tens of thousands of people from all over the world talking on them at any given time.

Here are some UK based servers on some of the more popular global IRC networks:

There should be plenty of people to talk to on any of these networks, but first you have to tell your application who you are. You need to choose a nickname for yourself, so that other people will know what to call you. It can be as descriptive or imaginative as you like. Bear in mind that the more people there are on the network, the more likely it is that someone already has that name.

Once you've thought of a name you'd like people to know you as, you can enter it into your client. In mIRC or Colloquy, just type it in the box labeled "nickname." If you're using ircII, it will automatically use your regular username by default, so you don't need to select a new nickname to log onto a server.

Don't worry if you can't think of a good name right away — all IRC clients let you change it at any time with this command:

/nick ZoeB

If the name you chose has already been taken, the server will tell you that you can't use it, and you can simply type in the command again to choose another name.

As you can see, I've just gone for my forename and last initial, but the names of characters from novels and phrases that describe your hobbies and interests are also common.

The last step before actually starting to explore the IRC network is to tell your IRC application your full name. In this day and age, it's probably a good idea not to give it your actual real name. Anyone else on the network will be able to see the name that you enter, so it's a good precaution to just type in anything that politely makes it clear that you wish to remain pseudonymous.

In mIRC, you can simply type your fake full name in the "full name" box. mIRC also insists that you provide it with an e-mail address, but you can trick it with this information just as easily. It doesn't even look for an @ symbol, so you can put anything you like here too. Lastly, click on "connect to server," and close the window entitled "mIRC favourites" that eventually pops up.

In Colloquy, you need to click on the arrow next to "details" to reveal the "real name" box. As is the case with any other IRC client, you can put whatever you like here. Next, click "connect."

In Unix, it's naturally a little harder. ircII users can change their full name by typing something like the following at the command prompt before running the program:

export IRCNAME='Emily Berkenstein'

From this point on, any IRC client will let you give it commands by typing a line of text that begins with a slash. Try the following command, only with your own nickname:

/whois ZoeB

If everything's gone smoothly, you should see some information about the user you're curious about. The reason it's good to examine your own nickname in this way before joining any channels is that you can make sure no private information is being given out. Just remember: any information you can see as a result of issuing a whois command is also information anyone else on the network can see. Don't show any information here that you would be uncomfortable revealing to a total stranger.

Talking to People

Now that you're relatively safe from the average person finding out more about you than you want them to know, you're ready to join a channel. Every channel has a name, and channels that are daisy-chained across the network begin with a # symbol, followed by a simple word or acronym. On popular servers such as the four listed above, typing in the name of a rock group or TV show you like is almost guaranteed to get you on a channel full of people, as are general terms such as the name of your favourite religion or political affiliation (although those channels can understandably have quite heated discussions on them).

If this is your first time using IRC, it's a good idea to start with a general channel that's not about anything in particular, so let's try this one:

/join #chat

As before, you're talking to the application itself, and telling it that you want to join the channel called #chat. This will probably be a relatively popular channel on most big IRC servers, hopefully full of helpful people who will be kind to anyone starting out with exploring the world of IRC.

Congratulations, you're now talking to people on IRC! Assuming that at least some people are actually paying attention to their IRC applications, they should be talking to each other on the channel already. You might even catch the middle of a conversation.

When people talk on a channel, most IRC clients display their dialogue like this:

<Alice> ...so that, in a nutshell, is the meaning of life.
<Bob> I never thought of it that way before.
<Alice> Just don't tell everyone.
<Alice> I've already got all the psychiatrists on my back.

You can now type in anything you like, without a slash at the beginning, and it will appear on the channel. So if you type this:

Hi everyone!

Then everyone on the channel will see something like this:

<ZoeB> Hi everyone!

You can also pretend to perform actions by using the "me" command to write about yourself in the third person. It may seem a little confusing at first, but you soon get used to it. For example, typing in:

/me sneezes

Will display something like this to everyone:

* ZoeB sneezes

You can use this to say absolutely anything about yourself in the third person, so all of these are fine:

/me runs around excitedly
/me kisses NinaR on the cheek
/me wonders what the meaning of life is that Alice mentioned earlier

As you can see, it's a fun way of showing people what you're actually doing, of roleplaying, or of showing people your thoughts without directly speaking.

Another thing that can be useful is the "away" command. If you start to use IRC so much that you don't want to leave a channel just to do pesky things like eat dinner or have a shower, you can tell your application to leave you connected but automatically warn anyone who tries to talk to you that you're busy. Try something like this:

/away Eating a yummy pizza

Now if someone tries to send you a private message (we'll get to those soon), they'll see the following reply from you:

*** ZoeB is away: Eating a yummy pizza

After being advised that you're off enjoying a nice meal, they won't feel offended that you don't immediately reply to them. When you're back at your computer, just type in "away" on its own to tell your IRC client that you're back again, like this:

/away

Once you've finished chatting on a particular channel, you can leave it using the "leave" command like this:

/leave #chat

One of the nice things about IRC is that you can talk on several different channels at the same time. Just keep using the join command. This can get pretty confusing on the command line, but in a graphical environment you can generally see a different window or tab for each channel. It's worth noting, however, that trying to concentrate on several conversations at once can make it difficult for any of them to be meaningful, so use this option sparingly.

Once you've joined and left a few channels, you may want to stop guessing which ones exist and get a nice, big list of all the existing channels. This is done with the "list" command:

/list

Note that just by joining a channel, you bring it into existence if it wasn't there already. If you're in a channel by yourself, it doesn't necessarily mean that anyone else knows that it exists, although it will appear on the list as long as you're in it.

Last of all, you can talk to people privately, just like whispering. This is done using the "msg" command, short for message. For example, the following will send a private message to Bob:

/msg Bob So what did Alice say the meaning of life was, then?

Only Bob will receive your message. Depending on his IRC application, it might appear in a new window or it might look like this:

*Zoe* So what did Alice say the meaning of life was, then?

If you see a new window or tab, you can use the "me" command in it, the same way that you use it on a channel. ircII users, on the other hand, need to use the "describe" command instead, like this:

/describe Bob is glad no one else can hear her

This is counter intuitive, but you're telling your IRC application to describe yourself to Bob, not to describe him to anyone else. As a result, if Bob is using a graphical, window-based client, he will probably see the following, just like on a channel:

* ZoeB is glad no one else can hear her

If he's using a command line based client, he might see something like this instead:

*> ZoeB is glad no one else can hear her

Leaving

The only other command you need to know is "quit," which quits the application.

/quit

Now you can go out and enjoy the sunshine, unless you got carried away and are rather surprised to learn that it's now four in the morning.

There's a lot more to IRC, such as registering your nickname so that no one else can use it later on, kicking obnoxious people off of a channel, and sending and receiving files, but the chances are you won't need to know any of that if you just want to make some new friends.

Hopefully I've convinced you to try out IRC, a simple way to talk to people all over the world via the Internet, and I've helped you take your first steps on that journey.

If there's anything you feel I should have included here, or anything I could have explained more clearly, please let me know. Thank you, and have fun talking to people online!