• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!


Getting Started with IRC

Page history last edited by Justin Spratt 11 years, 9 months ago

Internet Relay Chat (IRC) is a form of real-time Internet text chatting or conferencing (IRC on Wikipedia).  I consider IRC to be one of the best ways of getting expert help on anything to do with computers, but it is also a great resource for topics from English grammar to math to politics.  IRC is also great for collaborating on projects in real-time (i.e., a nice way of saying "scrambling to get some help on a project").  Over the years I have become indebted to many folks on IRC; talking to a real person is different and superior in many ways to reading what was written to someone else, perhaps geared toward a very different circumstance.  Since almost all technology is, in the final analysis, a means of connecting people, the possibilities with IRC are endless. 


     If you are a computer scientist, imagine being able to talk to the developer of a programming language you are trying to learn.  If you ask someone on IRC how to convert a string to an integer, you will likely get a response such as, "int i = Integer.parseInt(s.trim());"  Contrast that with reading the documentation for String (8000+ words where "parseInt" doesn't appear).  Ah, you should have looked at the documentation for Integer.  And yet, the very useful s.trim() doesn't appear.  As a reference, documentation is great.  As a language learning tool, IRC is top notch.


     If you are trying to fix your home computer, imagine being able to chat with three helpful systems administrators, each with five years experience with the exact software you are having trouble with.  Compare that to reading the troubleshooting guide.  Later on in this guide, I explain how the IRC helper plugin can help you and that you should empty the normal password field and fill out the one in  the advanced tab.  I learned that on IRC.  The documentation says nothing about that.


     IRC is a conversation and not an authoritative book, a conversation that you can begin by following this guide.  Unfortunately, many people find it very difficult to get IRC working, so I made this article in order that people--whatever their background--may have access to this great resource.


     This document is not an overview of IRC; it is more of a recipe: you will learn one way of getting started with IRC.  For example, this document will only use the Pidgin IRC client software.  If you want to learn how to use IRC in a different way, why, just ask someone on IRC!


     This document uses the Human-Readable Scripting Language to give instructions, and I recommend you read that short introduction before reading this whole article.  Often, the angle brackets ("<" and ">") are used to enclose user-variables as in: "<your user name>".  This would be replaced by "johndoe" or some such thing.  The following example will illustrate this:


     Enter the following command:

     /msg nickserv register <your password> <your real email address>


     The above command would be replaced with /msg nickserv register secret_password john@domain.com and NOT /msg nickserv register <secret_password > <john@domain.com>


0. Try IRC on the web

You can try IRC by going to the web-based version .  Simply enter your desired username (use something unique and easy to type) and a channel name (like #ubuntu) and click connect.  (Don't worry about the "Auth to services" box.) 


     Please note, many channels require authentication (that is, a linking of a nickname to an email address), and you will receive a "cannot send to channel" message.  This authentication is not just an inconvenience; it helps cut down on the amount of spammers (people who annoy everyone on purpose) on IRC.  Continue reading to part 4 in this article to learn about how to authenticate yourself.



1. Install Pidgin

     You will need Pidgin (Pidgin on Wikipedia), the universal instant messenger (IM) client.  You can download Pidgin from the Pidgin homepage (save it to your desktop or your install directory, not somewhere that you won't remember after the download is finished).   Pidgin is cross-platform (it works on Windows, several Linux flavours, and the Mac) and comes with everything that it needs to get started on IRC.  This guide will assume your operating system is Windows (because if you use a Mac, well, I hate Macs, and if you are using Linux then you probably aren't reading this guide.  After you download Pidgin, install it (just keep clicking next right through the install wizard).  At the last step, choose to launch Pidgin and click finish.



2. Make yourself an account

Usually, after you install Pidgin for the first time, you are presented with the "Account Manager".  This window can be brought up later with (in HSL) Pidgin{PROGRAM}>Accounts{MENU}>Manage Accounts{MENU ITEM}>->.  With the "Account Manager" window open, click the "Add..." button.  Fill out the form as below (in the order below):


  1. Protocol: IRC
  2. Username: <your choice, but make it unique: something no one else would use>
  3. Server: irc.freenode.net (this is the default and the most popular server currently)
  4. Password: <leave blank>
  5. Remember password <do not check (yet)>
  6. Local alias: <leave blank>


     You can take the defaults that show up in the Advanced tab.  If you are behind a very strict firewall you may need to have TCP port 6667 opened outbound (talk to your "System Administrator") or make a proxy tunnel (beyond the scope of this document).


     When you are done filling out the form, click "Add".  Note that you have just created yourself a local account; no one has recorded the information you have just entered except for yourself.  Later we will register your account with irc.freenode.net so that you can join certain "channels" (a channel is a group of people on IRC who can all send each other messages, i.e., messages sent to a channel are viewable to everyone "tuned in" to that channel) that require registration.


     After you click the "Add" button, wait a few seconds.  A Window may pop up from the "chanserv".  You can close this or leave it open: it doesn't matter.



3. Join a channel and say "Hi"

One popular channel is #ubuntu (Ubuntu is a Linux operating system).  You can join a chat in Pidgin by Pidgin{PROGRAM}>Buddies{MENU}>Join a Chat...{MENU ITEM}>Channel:["#ubuntu"]{INPUT BOX}>->


     You can also add a chat perminantly (so it appears in the buddy list during startup) with the following:

Pidgin{PROGRAM}>Buddies{MENU}>Add Chat...{MENU ITEM}>Channel:["#ubuntu"]{INPUT BOX}>->

With channels that you want to be closely tied to, a personal software project or a class discussion for example, I recommend checking both the "Autojoin when account becomes online" and "Remain in chat after window is closed" check boxes.


     You can also join a channel by typing /join #channel_name while in another IRC channel.  Note that the single hash mark ("#") is used for peer-directed projects (such as the Python programming languages--the users direct that open source language), and the double hash ("##") is used for non-peer-directed projects (such as Windows--Bill directs that one).


     To talk to someone in particular, something that is necessary on large channels like #ubuntu and #python, you can begin typing his "nick", the nickname he uses to identify themselves, and pressing the tab button.  For example to send a message to "schoppenhauer", you would type "scho" and then hit the tab key.  The result should look like the following:


(where there is a space after the colon).  After you send a message with someone's nick in it, that person will probably receive a notification of some sort, most likely an audible beep, and your message message in a special format, usually bold and in a different colour.  Note that the type of notification will depend heavily on the particular client the individual with whom you are communication has installed.


     Here are some other useful channels:

  • come on #dordt-cs and talk to me.
  • use ##hardware and ##electronics to get help with computer hardware
  • use  ##windows and ##windows-server to get help with Windows issues
  • use #<distro name> to get help with your favourite Linux distro (for example, #slackware)
  • use #<programming language name> to get help with learning a programming language (for example, #python) 



4. Register your nickname

You should register your nickname (what you entered as your username in step 2 above) so that other people cannot use it.


     First, open any chat window (such as #ubuntu).  Next enter "/query nickserv" (no quotes) and hit enter.  A new window should open up: this is a private chat between you and an IRC bot called the Nickserv (a computer who handles IRC registration).  In this window you should enter the following (please use a strong password and use password management):


/msg nickserv register <your password> <your real email address>


     If you are using a nickname that someone else has already registered, you will be presented with an error.  Otherwise, an email will be sent to your address with another command that should look like the following:


/msg NickServ VERIFY REGISTER <your nickname> <some random characters>


     Copy and paste that into the chat window that you have open with the Nickserv and hit enter.  You should be told that you have successfully registered.  To test this, try joining #python or #java.  You will receive an error message saying that you must be "identified" to join those channels unless the registration process completed successfully.


You should now go back into the Account Manager and set the password and make Pidgin remember it for you:

  • Pidgin{PROGRAM}>Accounts{MENU}>
  • Manage Accounts{MENU ITEM}>
  • <your_nickname>@irc.freenode.net{LIST ITEM}>
  • Modify...{BUTTON}>
  • Password:["<your password>"]>
  • Remember password[check]{CHECK BOX}>->


     Occasionally, when you log into IRC again (for example, if you have closed Pidgin or restarted your computer you will be logged out, and when you start Pidgin again, you will be logged back into IRC), your nickname may be in use, and you will receive telling you so.  You will be logged into IRC, but your nickname will be changed: if it was "iamthebobguy", it will now, most likely, be "iamthebobguy1" (assuming that iamthebobguy1 is not a registered username).  Since iamthebobguy1 is not a registered username, you will not be able to get on to channels that require authentication (such as #python).


     Now, many people get annoyed unnecessarily at this, thinking that someone else is using their nickname which they registered.  This is likely not the case.  Your nickname is likely hanging around in IRC from the last time you logged in (i.e., it is a "ghost").  As mentioned later (in section 5) of this article, there is a "Disconnect ghosts (duplicate nicknames)" option in Pidgin.  I use this plugin and it works (as of version 2.6.3).  However, in case that plugin doesn't work, in order to reclaim your username from your ghost, a process called "ghosting" (for a different reason than your nickname is called a ghost: ghosting someone is the process of killing them without ever being noticed).  Ghosting can be accomplished with three commands.  The first one opens the nickserv channel, the second one ghosts your ghost, and the third one identifies you as your nickname again:


/query nickserv

/msg nickserv ghost <your nickname> <your password>

/msg nickserv identify  <your nickname> <your password>


     You should now, once again, be able to login to channels that require authentication (such as #python).



5. Get some plugins

What makes Pidgin great is that you can extend it with plugins.  The Pidgin website has its own list of plugins.  You can also grab the Purple Plugin Pack which includes 50 great plugins.  The plugins can be downloaded from the Pidgin Plugins download page (download the latest .zip archive).


Some of my favourites are the following:


  1. IRC More (More IRC options) and IRC Helper (Helps IRC out a bit) are part of the Purple Plugin Pack (files here).  The actual file to download is purple-plugin_pack-x.y.z.zip; simply extract the .dll files to /Pidgin/plugins/*.dll.
  2. The Guifications plugin is hard to find (files here).  These give you more GUI controls.
  3. Off-the-Record Messaging (Encryption for messaging--installing this does NOT magically make "everything secure".  The proper use of public encryption requires an understanding of the math behind encryption.  This is not part of the Purple Plugins Pack; use the link to fetch it or use this dll file from pidgin-otr-3.2.0.)


     After you install the first two in the above list, you can access more features in the "Advanced" tab in your Account Manager after you open your Freenode account for editing.  Note: the IRC More and IRC Helper plugins are not configurable through the normal plugins window; they are account specific: the preferences they enable you to edit are to be found in the account management window:

  • Accounts{MENU}>
  • Manage Accounts{MENU ITEM}>
  • <your_nickname>@irc.freenode.net{LIST ITEM}>
  • Modify...{BUTTON}>->


I strongly recommend checking off the option "Disconnect ghosts (duplicate nicknames)".  Note, when you use this plugin you must clear your password from the "Basic" tab after you open your account and insert it under the advanced tab:

  • Accounts{MENU}>
  • Manage Accounts{MENU ITEM}>
  • <your_nickname>@irc.freenode.net{LIST ITEM}>
  • Modify...{BUTTON}>
  • Password:[""]>
  • Remember password[clear]{CHECK BOX}>
  • Advanced{TAB}> 
  • Username:["<your nickname>"]>
  • Auth name:["<your nickname>"]>
  • Nick password:["<your password>"]>
  • Disconnect Ghosts (Duplicate nicknames):[check]{CHECK BOX}>
  • Save{BUTTON}>->




6. Use Pidgin for MSN/ICQ/etc.

Pidgin can handle all of the following protocols:


  1. AIM
  2. Bonjour
  3. Gadu-Gadu
  4. Google Talk
  5. Groupwise
  6. ICQ
  7. IRC
  8. MSN
  9. MySpaceIM
  10. QQ
  11. SILC
  12. SIMPLE
  13. Sametime
  14. XMPP
  15. Yahoo!
  16. Zephyr


     So, instad of running multiple chat clients, just run one: Pidgin.  Besides, who wants to watch the adds that Microsoft puts at the bottom of the MSN messenger?  Go Pidgin. Go free software.



7. Some Advanced Topics

Pasting (also known as flooding) is discouraged (i.e., do NOT paste multiple lines of code into a channel unless someone asks you to).  Use pastebins to avoid pasting large numbers of lines into an IRC chat room.  In general, after you paste some code and hit the "paste" button, you paste the URL that you end up at into the channel that you wish to direct to your code.  After pasting Examples of pastebins are the following:



Appendix A: Useful IRC commands

IDENTIFY--Register a nickname

REGISTER--Register a channel

TOPIC--Change the topic of a channel



Appendix B: Further reading

  1. An IRC Tutorial (basic commands)
  2. The IRC Primer (deeper commands)
  3. The Channel Operators Guide (for when you want to make your own channel)
  4. IRCHelp.org (some useful information)
  5. Two useful posts: registering users and channels and controlling channels.
  6. See How to Ask Questions the Smart Way (if you don't read it now, someone in IRC will send you there)
  7. Learn how to run Pidgin in portable mode (this is very useful if you want to keep the same configuration across multiple computers)
  8. Use my GTK config files to change your theme into mine.  Here is just my /GTK/etc/gtk-2.0 files (you probably only need these).
  9. Pidgin for Facebook
  10. Pidgin for Skype



Home  |  Up  |  Copyleft  |  Contact


Comments (0)

You don't have permission to comment on this page.