How to Use IRC (Internet Relay Chat)

166K3216

Intro: How to Use IRC (Internet Relay Chat)

[EDIT] This is an Instructable intended as a starter for those who do not yet understand Internet Relay Chat, or IRC. This project is not intended to cover the entire scope of IRC and each individual client's capabilities, but is targeted to the windows user who is new to IRC, and this project aims to help those users to get started with IRC as a superior form of communication over IM clients such as AIM or YIM, which require installing software already proven to be a security-risk. Even if you do not choose to use Chatzilla or Firefox, some information here may be useful to new IRC users with general commands supported by most IRC clients. If you are looking for help with a specific client, see FAQ's related to your client specifically.

If you have more wisdom to add, please post it as a new comment. For those new to IRC, please read this project and it's comments anyway to make sure you know the basics. You are a user until made an operator, so don't try to kick ops from public channels or your client will laugh at you. All IRC addresses and/or examples are valid and accessible for the purpose of learning how to use the system, to the best of my knowledge. Screenshots were made from actual logons and were not "doctored" in any way, so you can join any channels, public or hypothetical, displayed in any screenshot here.

[/EDIT]

Internet Relay Chat is much like your instant messengers, but is devoid of spam or general security risks that other IM services not only allow but are built to accept. Typical IM services such as YIM, MSN-chat, AIM, and many others are specific targets due to their accessibility and ability to silently upload files to your computer and execute them on command without you even knowing what happened, from someone not even showing up in your chat window.

IRC is not only secure in multiple ways, but you cannot hide behind an application. If someone's there, you'll know it, and you must accept all file transfers before they are actually received. Below, I'll explain how using IRC is just as easy, far safer, and much more functional than your bloated n00b IM-client-for-dummies. For those smart enough to use Firefox, this can't be easier. For those still using IE for anything, there may be no saving you, but I'll try.

STEP 1: Learn to Use Firefox, or Download a Suitable IRC Client Such As MIRC

You can find Firefox here

Get the Chatzilla addon here

For those so stubborn not to try the best, you can get mIRC here

I'll focus on those who know better to use Firefox than IE. Downloading the Chatzilla extension and incorporating it into Firefox is easy, simply download it and it knows where to go. You may be asked to restart Firefox or your computer, if you are not asked, restart your computer just to assure a correct install anyway. Windows likes to corrupt itself and blame properly-coded software.

Now that you have it installed, you can find chatzilla from the top by dropping down the "tools" tab in the menu-bar.

STEP 2: Join a Network

This seems largely difficult, but it is incredibly easy, and your choices are laid out for you. In this image, I have joined "efnet" as my primary host and server. By now you should have connected to efnet for sake of example.

IRC addresses work similarly to http "hyperlinks" (aka "links"), so that clicking on a link to an irc channel will automatically start chatzilla for you. Below, I will get you started.

Start chatzilla, and you will be faced with alot of messages. Ignore them for now and type the following into the text-box at the bottom:

/networks

Chatzilla will return this to you in the message window (or similar):

{INFO} Available networks are dalnet, efnet, freenode, hispano, hybridnet, ircnet, moznet, quakenet, serenia, slashnet, undernet, webbnet.

The networks will be like hypoerlinks, so you can just click on one to join that particular server. Here I have chosen to use "efnet" as my server by simply clicking on the name shown above. Now that I am on a network, I have the ability to join an existing "room" (the real name is a "channel", so we are calling it a "channel" from now on), or create a new one (it is best to start your own channel than to hijack an existing one). So, let's say you and your friends decide to meet on irc://efnet/instructables. Firefox users can simply type this address into the URL window in Firefox, and chatzilla will automatically connect to that address. If you have it installed, try it below by simply clicking on the link:

[irc://efnet/instructables irc://efnet/Instructables]

Congratulations, you are now using IRC. The link above is shown just as you would type it into Firefox's URL textbox (the box at the top that shows your current internet address). Remember to type an irc address as shown above. Generally, "http" means "internet", "irc" means "irc", of course, and "file" means a location on your computer. You may start to see how the internet and your computer work much in the same way.

Now, say you don't want to use irc://efnet/Instructables, maybe you want your make your own channel to chat in, and you want to call it "Jedi Knights". You can't make this work properly because "channels" (what some call "chat-rooms") cannot have spaces in the names. The ideal workaround to this is to use an underscore instead of a space, as seen below (go ahead and try it):

[irc://efnet/Jedi_Knights irc://efnet/Jedi_Knights]

Notice that I still have efnet in the address. This is because efnet is the server that is hosting your traffic (your text, files, etc). By now you might start to see how you can create your own places to chat. You need to use a valid server, but you can make up any name you want for your channel as long as it contains only regular characters such as letters and numbers, no special characters will be recognized. This helps your security because an underscore can be printed by over a hundred different key combinations (underscore is often used to display a "non-display character").

You don't even have to use efnet, just type /networks to see what networks are available, and your address needs to be prefixed with a valid IRC server as seen when typing the /networks command. You cannot simply create your own server, and doing so will not be covered here.. Click on the name and you can find or create your own channels (or "rooms"). What server you use amongst those available does not particularly matter except for their performance, and they all are generally reliable. However, you cannot go to irc://efnet/instructables, and be in the same place as irc://dalnet/instructables because you will be on a different server.

STEP 3: Now That You Are on IRC...

With IRC, you tell the "client" (chatzilla, in this case) that you are giving it a command. The standard is to precede the command with a slash. As seen previously, typing /networks tells the client to display the available networks. To see a list of all available commands, simply type /commands. A list will be displayed showing the proper commands that are accepted from where you are. I won't get into them all, but I'll show you the important and most useful ones.

Probably the most useful to anyone at first is the /nick command. This changes your "screen name" to whatever you want, within a limit of 9 characters. Let's say you started with the nickname "IRCMonkey" as chatzilla defaults to, and you want to be "B_Kenobi". Simply type as shown below:

/nick B_Kenobi

Now that is your new nickname. By default, chatzilla will save this as your default nickname for that channel with a limit of 9 characters. When you select "open this channel at startup" (selectable as shown in the image displayed below, this becomes a new default startup setting), you simply have to start chatzilla and your username and preferred channel wil automatically start and you are ready to go. You will not have to change your nickname every time you start, as chatzilla will retain your last nickname before you close it to be used when you return to that channel.

If you are stuck, or just want more information, simply type /help and chatzilla will walk you through any command. For example, we will ask chatzilla how to use the /dcc-send command:

/help dcc-send

[USAGE] dcc-send [<nickname> [<file>]]

[HELP] Offers a file to |nickname|. On a query view, |nickname| may be omitted to send the offer to the query view's user. A file may be specified directly by passing |file| or, if omitted, selected from a browse dialog.

(Please note that the above apparent links do not lead to anything and were not intended)

This may seem confusing, so let me explain it. Say you are chatting with your friend "Gozer", and you want o send them a file called "my_pix.bmp" from your desktop. You simply type:

/dcc-send gozer my_pix.bmp

Gozer will receive an offer to accept or deny this file, and if they choose to accept it, a new tab will open on your side showing the progress of the file transfer and the rate at which it is being transferred. The file transfer is directly from your computer to theirs, and no other people chatting with you will even know it is taking place, much less the server itself. It is transferred by a process called "P2P", which is a direct connection directly between you and your recipient. It is not encoded, but the security lies in that the transfer cannot be redirected, located, or even observed because it is just between you. The two computers are passing data as if they were connected by a private network, and cannot be intercepted because only two connections will work....The sender and the receiver. There is virtually no way a third party can get on that data-stream because the connection will either block them or self-terminate, as it is not compatible with more than two users. The transfer will continue in the background as you continue chatting, so there is no need to wait for it to finish.

There is a variant of the /dcc protocol, which is /dcc-chat. This allows you to bypass the server and the two of you act as your own. in a /dcc-chat enabled conversation, you are literally talking just between your two machines on a direct line. Locating this type of chat protocol is nearly impossible unless someone is specifically monitoring your line. to enable this with your friend Gozer, just type:

/dcc-chat gozer

A new tab will open, and you two are literally chatting client-to-client, without a server as a middle-man. This is rarely necessary, but if you are that paranoid, it is available. You can take a file-transfer automatically from Gozer by typing:

/dcc-accept-list-add gozer

Now you will automatically accept files from Gozer after a 15-second delay in which you can choose to deny the transfer. If you take no action, the transfer will start and you will begin downloading the file from their computer. There is no limit to file size whatsoever when using DCC. Send 1kB, or 190 GB, size does not matter, so long as you remain connected to Gozer (or whoever your friend is, we're using "Gozer" as an example). Now you will no longer have to choose "accept" every time they send you a file, and there is never any limit to how many transfers you can take at once, however, you will be taking files into the default folder. To change this to your desktop (for ease of explanation), have Chatzilla open and use the toolbar. Go to Chatzilla->Preferences....Go to "global settings" and select the DCC tab..Under "Downloads Folder", type-in "file:///C:/WINDOWS/Desktop/" (without quotes) or browse the path to your desktop and all DCC transfers will go there from now on as long as you "apply" the change before closing the menu.

For reliability, it is best to take one at a time though. This is active as long as they keep the same username, usually, even if their IP changes, such as if they use Dail-up/telephone internet access

(The above "IP" and Dial-Up..." are intended links, so clicking on them will give an explanation if you do not know what they mean)

You can PM other users by typing:

/msg Gozer I think he's lying

This will send a message only to Gozer: "I think he's lying" (without quotes). No other person will ever see this message, and it will show up in a new tab on the chatzilla client only for the recipient of the message, often with a system-sound to alert the recipient. This is a way to talk privately during a chat with several people and only talk to one person, like whispering to them, but noone can ever know that you did or what you said except who you said it to. Experiment with it to see how it works.

The context is /msg <username> <message>, just be sure to add a space between the username you want to talk to and the message you intend to type.

STEP 4: Operator Status and It's Priveleges...

When you are the first user to show up to a channel, you are automatically given "operator status", meaning you are the operator of that channel, or the administrator of that channel. This gives you special privileges that other users cannot use without that status. It is considered polite to give operator status to people you expect to be there with you, so that they can have administrative control of the channel as well. To share operator status with your friend Gozer, type the following (assuming you were there first):

/op gozer

This command can only be given by someone with operator status to share the same status with a fellow user. What good is "operator status" to the two of you? I'll show you more commands that will demonstrate:

/kick Mr_Rude

This will kick the intrusive person named "Mr_Rude" from the channel, removing them from the channel. A message can be appended to show a reason why you kicked them, but is not necessary. An example is shown below:

/kick Mr_Rude No swearing is allowed on this channel

When Mr_Rude is kicked they will receive the message, "You have been booted from #instructables by B_Kenobi (No swearing is allowed on this channel)"

If you have a persistent user who annoys you and does not respond to the /kick command, you can use the /kick-ban command, that will kick the user off and ban them from rejoining. You can also attach a message in the same way as a simple /kick:

/kick-ban Mr_Rude No swearing is allowed on this channel

They will see the same message as above, but "booted" will be replaced with "banned", and they will not be able to join your channel as long as you are on it. you can remove this by typing the following:

/unban Mr_Rude

Now the ban is lifted and that user can log into your channel again. If another operator banned a user, you can unban them and override their ban as a fellow operator.

Operators can also set the topic for the conversation. To do so, simply type /topic and enter what you want as your topic, to be shown for all users at the top of the screen. Anyone who joins will see this in the introduction to the channel, and all users already logged-on will see the change as it is made:

/topic I love bunnies!

The topic will change to this after this command is given, if you have operator status. Try it and see by looking at the top of the window...

If you give someone operator status and they misbehave, an operator can strip another operator of his status by using the following command:

/deop Gozer

This will remove Gozer's operator status (maybe because he bans your other friends for no reason or abuses his operator status), and remove his ability to change topics, or kick/ban other users. If you wish to not have operator status, you can deop yourself as well, as an operator has control over privileges of all users, including themselves. An amusing way to leave as an operator is to kick yourself. Kick yourself for foul language even when you haven't used any, or for any reason. It's an inside-joke amongst veteran IRC users.

It takes practice, but not long before you are perfect with these commands....

STEP 5: More Commands and Interesting Fun

More fun you can have with IRC is using colors and bold when you type, to emphasise what you are saying, and how you say it. Give your text personality by the commands below:

By prefixing /me to a statement, you display your text in italics like a footnote or a silent action by context. an example is below:

Gozer: I really like the new Heidi Klum pix

(you type the following in response):

/me hears that

The result is your post showing as:

B_Kenobi: hears that (in italics)

as if you said it under your breath, or otherwise meant it as a silent thought. Experimentation with this will show how this can be useful in context.

Some of you may wish to type in color or otherwise customise your text. To do so, you need to prefix the text with the appropriate symbol. Start the desired text with the percentage symbol "%" and a small tool-tip will appear showing the supported commands. For example, %U means to underline the following text. you can end the effect by repeating the command. For example:

I %Uwant money %U man!

The result is "I want money man", but only "want money" is underlined in that text. Bold is a lot simpler:

I *want money* man

As typed, "*want money*" will show in bold text. Anything bracketed in asterisks will be shown as bold type, but the asterisks will show. Using asterisks are shorthand, but for more perfect text, use the %B tag instead so that they won't show. Remember that to use this option, you must use capital letters for every prefix and suffix (not %b, but %B for bold).

You can combine tags such as the following:

I %U %B want money %U %B man

Which will show "want money" in bold and underline at the same time. Skillful tagging can show the same in bold/underline/<color>/italic all at once. Below I show basic text tagging and it's effect. The commands are as follows (try them when on IRC to see the effect):

I %Bwant money%B man

I *want money* man

I %Uwant money%U man

I %B %Uwant money%B %U man

The image shows the difference between these commands. Many commands can be combined for the desired effect. Note that you do not need to space between tags and the text as a "text tag" (called a "switch") for the client to interpret everything following as the prescribed format until terminated, as seen above. A switch (%U or %B is called a "switch", just like how you turn the lights on in a room) is set in text, and then terminated to return to the default for following text. "%" is a switch, just as "/" is a "command flag". The client responds to "/" as a command and "%" as a switch, and this is how you can better control the client. A switch is a trigger for a different interpretation of the following text, just as "/" tells the client that the following text is expected to be a command.

I %C9 %U %BWant Money%C9 %U %B

This will show the latest example in bold, underline, and in green. Spaces between the text and the switches are displayed, so if you spaced the tags here, the space would carry the same underline. I keep switches in order, but as long as you close them all, the effect is turned-off. The order is not specific, just as long as each switch is closed as it was opened, or it remains until closed. Text entered into IRC below produce the same result:

I %C9 %U %BWant Money%C9 %U %B
I %C9 %U %BWant Money%U %B %C9

This line has all the same switches, and upon conclusion of the line, all switches were opened, and then closed, returning the text back to it's default state. If you omit the %B switch, all your text will be in bold until you "turn it off" on that line..Clients will vary, but chatzilla tends to return to default for the next line. Type the same line above and then add text beyond that. Now try removing a switch, such as "%U"....The effects will continue, but without the underline effect What you see is what you are sending, and another chatzilla client will show the same thing to who you are sending to.

By now, you should be learning something, and are becoming more proficient in computing, even if you are not aware of it. You can get really good with IRC and show-off your skills once you learn how to control it, and some of this should help you pick-up on these tricks.

Now you should be able to use Chatzilla with some proficiency, as well as many other IRC clients. Stop using IE, and start using Firefox, and get the chatzilla extension (no, it's not even on the level of "difficulty", it's child's-play, so you have no excuse), and when you accept the best, you will be above the rest and learn IRC to discover the real IM client that has been around long before YIM or MSN or any other. Use the best, and never need the rest....

All you need to do now is to convert your friends, and show them that you know the real thing from the fake. You don't need to install some unstable application just to connect to this network, you just use the best browser for your internet and your chat-system is right there.

If you still think Internet-Explorer is better than Firefox, and refuse to change, forget this Instructables project, and invest heavily in anti-virus programs and everything else you can, and be sure to have a technician on-call to solve your IE-related problems because you choose to be incorrigible. I'll try to feel sorry for you that your 3.1GHz machine is slower than my 1.3GHz machine due to your gaping security-holes that make your machine a zombie for others to enslave, but you choose that by choosing IE, so enjoy the finest of Microsoft programming and the privileges of your inability to accept change despite the evidence contrary to your popular belief.

If you are conservative in software, you automatically fail, so take pride in your failure of self-designed obsolescence and your inability to accept something above the status-quo, because IRC is simply not for you. IRC requires a minimal level of intelligence, so if you think you are going to do this from Internet explorer, just forget it, this project is light-years from your capability or potential skill level. Continue to use IM until you "are all growed-up" and can handle IRC.

The rest of you are already chatting on IRC now, so enjoy, and welcome to the high-tech world in high-tech format. Never use a dumbed-down client again, because now you have real control, and noone has to hold your hand or distract you from what's going on behind your back. Welcome to the most secure IM system that was always available to you but noone ever told you how. Now you can chat securely without spam or intrusion, and you have easy and significant control over your chatting area.

Welcome to the 21st century of IM chatting...Enjoy...

16 Comments

I can do all this from my Android phone? I don't need a computer,?
You can also use ThrashIRC I doubt there is easier software than ThrashIRC for IRC.
What is it for Instructables chat room?
It can be anything you want....for an example here, let's call it the following (click the link in Firefox after you get the chatzilla add-on to automatically connect, or copy/paste into your address bar):

irc://efnet/instructables

irc = protocol, like http or https
efnet = network name. You must choose from available networks before you can join a channel.
instructables = the channel (or chat-room) name. This name is determined by the first person there, and they become operators of the channel. The name can be anything so long as it is without spaces (underscores will replace spaces). Others wishing to join the same channel must be on the same network, and join the channel exactly as it is spelled, or you'll just make a new channel.

If efnet has problems, you can use any other network you want. The "room name" (channel) is only what you make it. No room name is invalid as long as it is spelled with normal characters. Already used channel names will just join you to that channel.
Ok but I ment the chat room in the forum
I'm not sure what you mean, if you follow the project step-by-step, you should already be in one. Tell me what you are hung up on and I'll try to help the best I can.
I personally love mIRC with NoNameScript. It's pretty bloated I suppose, but I like it. I also use FireFox btw :P
IRC is not 100% devoid of spam btw, it's still there. I probably get more spam on DALnet than I ever have on AIM, unless you count the ads built in.
If you want to chat with your AIM or MSN or what ever friends, you can try BitlBee, it acts as an IRC gateway to IM thingy. It's really kewl, but you lose some of the functionality of the regular IM clients, but I never use those anyway.
I didn't read your entire Instructable, because it's a lot to read for stuff that I either already know or is specific to Chatzilla, but I did read the first couple steps and I commend you for trying to get more people on IRC, cause it's 10x better than anything else on the Internet at the moment ~_
The idea is to get people to know IRC instead of going to IM clients that are nothing but trouble. I've been on IRC nearly a decade and have not seen one remote attempt of spam. Making your own channel is a great way of having the same results, but personally I have never seen any spam unless it was perpetuated by a user who was soon kicked. By running your own channel, you have the power to boot anyone who even considers spamming...

The rule is: If you are on your own channel, never give operator status unless you know them and that can be verified. A quick check is to type /whois (followed by a space; e.g: /whois Gozer ) and their details will show. If their details are different and you are not sure they are who they say they are, ask them something only your intended acquaintance would know. Imposters should be kicked immediately once found.

You can also use the /whowas to locate the last user after they just left, but don't wait too long to do so. A new user joining could remove that history on some clients. See the FAQ for more details.

/deop anyone right away should you accidentally give them status and you haven't verified who they are first. In most cases you'll know it's them, but use the /whois feature if you need to, they won't know you did it, and you can customize your details in the Chatzilla preferences/options anyway.
Yeah, some of the listed commands are Chatzilla-specific. I prefer freenode, and I try to hang out in the #instructables channer there. A tutorial on utilizing their ChanServ & NickServ could be in order...
Chatzilla is far from being the best irc app xD It's main use is being able to go on a thumbdrive with portable firefox :p You should give some recommendations beyond just 'mirc sucks because everyones used it since 1995'; kvirc for OSX or linux, x-chat for people that can code for realz, colloquy for OSX, trillian/pidgin/adium for people that don't want to install new software, etc. Does chatzilla even have scripting? xD This may be an intro guide, but you gotta think about when they're wanting to step it up a notch too.
This guide is intended to be a "startup" to IRC, and chatzilla happens to be the easiest to start with. When readers get savvy with chatzilla, they can move on to more specific clients that cater to individual needs.

For what it's worth, I think Chatzilla is the best client in terms of economy, useability, and simplicity. It may not have every little feature possible on IRC communications, but it has the most generally useful ones while still remaining simple.

Chatzilla doesn't require new software at all BTW, it is only a plugin for Firefox, and a very well-made one. As I said before, this is a startup, and to get into every command available on IRC would be excessively-verbose, even for me. For those wanting to do scripting, you should already be familiar with other IRC clients, so this is not aimed at you. The target demographic of this project is those using AIM, YIM, and even G-chat (gmail chat).

If Chatzilla does not hold the features you need or want, you are already IRC-savvy and should know how to find a client to meet your needs, or you still don't know how to use Chatzilla's features. Look again at the /commands list before you judge, and then use a standalone client if you feel you need one.

P.S. You can get more detailed info from the FAQ here.
Devoid of spam?! You've never been on Undernet :P
I have, and that's why I didn't mention it lol...