Original Post
Ultimate IRC Tutorial!
This tutorial was written by Modulous and is the winner of Jarmund's IRC-tutorial competition.

Hello and welcome. If you are new to the world of IRC, hopefully this (rather large) tutorial will give you a good grounding in the concepts. It won't make you a pro, but it will give you enough information to kickstart learning more. If you really want to there is a looot of things to learn about IRC.

So what is IRC?

IRC stands for Internet Relay Chat. It is basically a simple chat program. The idea is that you first connect to a IRC server and then you can join rooms (called channels), or privately message people to your hearts content.

Getting started

First you will need an irc client. There are lots of them out there, and I will cover a few of them later. Assuming you have already chosen a client and you have it open in front of you, the server name is An easy way to quickly get started in most clients is to simply type /server and hit enter in the main window (there is usually a line for entering text towards the bottom).

A whole bunch of text will normally spew out in front of you, it should start

-!- Welcome to the Toribash IRC IRC Network YourName
-!- Your host is, running version Unreal3.2.7
-!- This server was created Fri Nov 23 2007 at 19:54:54 SGT

YourName is usually selected during the install procedure, but can vary from client to client. If you aren't happy with whatever is here you may change that at any time with the command /nick NewName where NewName is whatever you want your screen name to be.

The final few lines of text should read

-!- - Welcome to the Toribash IRC Network!
-!- End of /MOTD command.

And you are left sitting there, with a command prompt patiently waiting your next move. This is the point, in my experience, that people start to get a little nervous about this strange and scary process - but it's almost done, so stick with it a little longer...

OK, so the next thing to do is to join a channel and see what's going on there. However, if you are new to this whole thing I recommend an additional step. Type /list and hit enter. This command lists all of the channels on the server:

#boaf 3 [+ntr] BAF LIVES FOREVER
-!- #cnbl 3 [+ntr] yummmm nachoz
-!- #halo 1
-!- #kick 1
-!- #gmod 2 [+ntr] LOLOLOL. || models: || steam://connect/
-!- #olda 2 [+ntr] ;Welcome to the OLDA IRC channel, where people who are Over Legal Drinking Age meet | Register
your nickname, so you can get op status automatically |OLDA OFFICIAL FORUM FIXED. ENJOY!
-!- #toriflash 2 ola espaniola
-!- #gururpg 2 [+ntr] Welcome to idlerpg, to register type /msg IRPG-Guru REGISTER <char name> <password> <char
class> || for more commands and info.
-!- End of /LIST

the server names are the things with a '#' symbol in front, the number that follows is the number of people in that room. After the number you might see square brackets '[]' surrounding some seemingly random letters. These represent the channel modes, don't worry too much about that just yet. Finally, there is the topic which can be set by people with special privileges in that room. For example, one of the channels is called '#toriflash', when I copy/pasted that line there were two users in the room and the topic is 'ola espaniola'.

If you see a channel you want to join, the command is very simple, /join #channel, the channel with the most users is most likely going to be #toribash, so you could type, /join #toribash

That should take you into the channel, where you will hopefully see people chatting away. Depending on your client, you should see a list of usernames representing everyone who is also in this channel. For most clients this is in list form to the left or right of the main chat window.

Chatting is simple, just type what you want to say in the command line and hit enter. Remember, like in toribash, if you start with a '/' the server will try to interpret it as a command and your text will not be displayed in the chat window.

Useful commands

We have covered some, but this might be helpful as a quick reference:

/server - your client will connect to a server. Format: /server
/connect - identical to /server.
/join - if you follow this command with a channel name (don't forget to include the '#') you will join that channel. If the channel name does not exist, it will be created and you will be moderator (or 'op') of that channel. Format: /join #toribash
/leave - leaves the channel. Format: /leave #toribash you don't have specify a channel, but if you only want to leave one specific channel when you are in multiple channels you should include it.
/part - same as leave for those of a more sophisticated bent.
/partall - leaves all channels.
/quit - quits from the IRC server. You can also add a message, meant to be used to specify why you quit, but more often than not it is used to get in the last word in an argument before slamming the door. Format: /quit I have better things to do than this. will display YourNick has left the room (quit: I have better things to do than this).
/away - sets your status to away or afk. You will need to set a message which will be displayed if anyone tries to privately message you or if they use the /whois command. Format: /away Making a cup of coffee
/me - you will probably be familiar with the /em command in Toribash. This works similarly. Format: /me is about to become a black belt will display * YourName is about to be become a black belt
/msg - allows you to send a private message to another user. Format: /msg TheirNick hello, how's it going? where TheirNick is the screen name of the person you wish to pm.
/privmsg - Identical to /msg, sometimes only one or the other works.
/whois - displays information about a user. /whois TheirNick, would display

Nick: TheirNick
Username: [email protected]
Real name: What_They_Have_Entered_As_Their_Real_Name
Server: (Toribash IRC)
Currently on: #toribash @#kick ~#olda ~#modteam
Idle for: 2 hours, 21 minutes
Online since: Mon 21 Jul 2008 11:41:30 BST

This will also display any away messages.

/help - usually displays a list of common commands, if you type /help list it might give information about the list command:

Provides a complete listing of all channels on the network.
If a search string is specified, it will only show those
matching the search string.
Syntax: *LIST <search string>
Example: LIST
*********LIST *ircd*
Some additional flags are also supported.
>number *List channels with more than <number> people
<number *List channels with less than <number> people

Other commands to be aware of

/ignore - stops a certain user's messages from being displayed in the chat window. Format: /ignore TheirNick
/ison - tells you if certain people are online. Format: /ison Nick1 Nick2 Nick3. If any of the users are online their Nicks will be echoed back to you. For example, if Nick1 and Nick3 are connected to the irc network:

/ison Nick1 Nick2 Nick3

/motd - displays the server's message of the day. Nothing to get excited about, It has read "- Welcome to the Toribash IRC Network!" since 2007 and most clients display the "Message of the Day" upon connection.
/time - returns the server time.
/whowas - works the same as whois, but for use when someone has left the server.
/kick - Forces a user from the channel (only ops can do this). Format: /kick TheirNick.

Most people know how to be polite, all the same rules of ettiquette within Toribash apply in IRC. Different channels can have quite different standards of manners, but if you aim to be more polite than the average user you shouldn't go too far wrong. Here are some guidelines:
Last edited by CMon; Aug 12, 2008 at 02:11 PM.
  • Be nice - nobody likes an ass.
  • Don't spam - avoid copy/pasting large text documents into the text window, try not to post more than 4 lines of anything in rapid succession.
  • Be easy to read - in busy channels the text can scroll pretty quickly. Don't make it any harder on people to try and read what you say. Avoid l33t speak and general stupid alterna-spellings as much as possible. "W455uP p33pz!!!!!!! I haz c0RRuptard replehz!!! hoW d0 aye fyxes it!!!!" is not good, it's not clever, and it won't make you any new friends.
  • Don't spam. Really. Don't do it. In IRC terminology it is called flooding and is grounds for getting banned.
  • Try to set away messages if you are going away for a significant period of time. If someone is trying to get hold of you, at least they have some idea why you aren't responding.
  • Try to avoid frequent nick changes. When you change your nick it tells everyone in the channel. If you are doing a lot of nick changes, you can flood the channel with lots of near useless information.
  • Keep funky colours to a minimum too. You can change the displayed colour of your text which has its uses - but constantly doing it can be kind of annoying to everyone who have to suffer reading it.
  • Don't SHOUT! Capitals have their place, and the occasional all-CAPS word is fine for emphasis here and there. However, please don't over do it.
  • Say goodbye when you are leaving. Not always possible, but if it is and you are in a conversation with someone, please do so.
  • Smileys are intended to denote emotion to make up for the fact that the written word can be misconstrued since there is no body language or tone. You don't need nine smileys to express that something pleases you or that you were being sarcastic.

Also, read the RULES to get a feel of what is tolerated and what is not tolerated.


The best way to think of NickServ is as a bot that guards people's nicks. Once you have a nick you are happy with, that isn't already protected by NickServ (NickServ will pm you instantly the moment you are using a protected nick), you should register your nick so that other people cannot use it.

To do this you need to pm NickServ:
/msg NickServ help

You will get a response with some of the more common commands. /msg NickServ help register will give you instructions on how to register your nick. Since that contains an important security message you should read it. Once you are happy, type /msg NickServ register followed by a strong password and optionally your email (for password retrieval purposes).

Here are some other commands to send to NickServ:
  • identify - if you have registered your nick, you can use this to prove to NickServ that you are the registered user of the nick. Format: /msg NickServ identify <password>


By the time you'll even consider needing to use ChanServ, you'd have already become quite used to NickServ. They are treated in very similar ways. If you want to create a more permanent channel that you have long-term control over you should first create a channel in the normal way: (/join <unused channel name>) and then you can send your messages to ChanServ. The first one should be /msg ChanServ help. There are a variety of options including:

REGISTER Register a channel
IDENTIFY Identify yourself with your password
SET Set channel options and information
AOP Modify the list of AOP users
SOP Modify the list of SOP users
ACCESS Modify the list of privileged users
LEVELS Redefine the meanings of access levels
AKICK Maintain the AutoKick list
DROP Cancel the registration of a channel
SENDPASS Help retrieve lost passwords

If you don't understand anything there, it's probably wise not to bother registering a new channel. After two weeks of inactivity the channel will automatically be deregistered.

By registering a channel it will be displayed in a channel list even when there is nobody there. You will be able to set modes, distribute op status and so on and so forth. As always, "help" is your friend. To get started try /msg ChanServ help register


Scripts can be fun, but they can also be very very annoying. Various clients can support scripts, but some simpler ones don't. Basically a script is just a bit of code that you can run and it does stuff. Not a comprehensive review I realize so I'll give some examples. You could have a script that allowed you to run a google search from the irc window. Very lazy, but rather cool. There are scripts that can allow you to control your music player from irc, also lazy and cool. One can also do quick translations if someone starts speaking a foreign language in the channel. Scripts are varied and sometimes fun.

However, you can also have scripts that randomly interject quotes from a film into the channel, randomize the case of your letters, convert them to 1337 speak, or spew obscenities on command. These can be fun to play with, but in extreme moderation and try and avoid busy channels if you are experimenting. Better yet, just create your own channel by typing /join <random unused channel name>.

File Sharing

Yes, many clients support file sharing, though it is very basic (scripts exist to make things much better, by making your computer act as a server and allowing people to browse certain folders of yours downloading what they please: for legal reasons you should make sure you have an appropriate license or are the copyright holder on any files you share). For toribash this does have one specific use. With ease you can send a friend your replays.

Most clients are setup so that something like a right click on a user's name will generate a menu with an option like "Send file" or "DCC Send" (DCC stands for Direct Client-Connect (you may also see something about CTCP which is the Client-To-Client Protocol, don't worry it just means its something to do with sending files). Select that and browse to the file you want to send. The person you send it to will be alerted and have the option to accept the incoming file. There can be problems doing this, often it is related to firewalls or local security settings.

There is a good reason for that. Accepting files from people who are basically strangers is not necessarily wise. If you know the risks and it's your computer, then go right ahead. Unless you are very confident with computers and your IRC client's possible security flaws - do not do this if the computer does not belong to you. They will be very upset if you end up downloading a computer killing virus: no doubt you don't want any Trojans getting in either allowing people to steal your passwords etc. Throughout my internet travels, most online games have had scammers - and their favourite trick is the trojan horse under the guise of being a way to make money fast in-game or as some useful third party application.

Also note: some channels (#toribash included), don't allow CTCPs/fileservers. You may be kicked or banned in these cases, so keep your eyes open.
Terms you should know in IRC

op: Ops, or Channel Operators, are the channel's mods. They have considerable power within a room including the ability to ban users who are misbehaving. Be especially polite to channel operators. Most clients will display ops and other dignitaries in some fashion to make them obvious. There maybe a symbol next to their name (eg: @) or a coloured button next to it instead.
Half-op: Basically the same as an op.
IRC operator: If ops are the moderators, then IRCops are the supermods. They control the whole server (or network, see below).
IRC admin: Essentially they are the gods of the server.
channel: Channels are like other chat 'rooms'. They are a virtual rooms which you can join and chat to some of the other users on a server. Channels usually have a set topic or purpose.
flood: Sending many lines of text in a short period of time. Don't do it.
IRC bot: A bot is just a client running a script that interacts with the the users in various ways (anything from updating them with news headlines, channel statistics, speaking with a limited AI etc) NickServ is a bot, as is ChanServ.
IRC Server: A computer that is running IRC server software that allows users to connect and create channels to chat in.
IRC network: Sometimes multiple servers are joined together in a network to help distribute the load. Toribash has another server with the name connecting to this server will allow you to join all the same channels and chat with the same people as if you had connected to
netsplit: sometimes the servers in an IRC network stop working in harmony. The technical details aren't important. Basically if you are in and there is a netsplit, you stop being able to communicate with users on and vice-versa. They are easily identified when half the room vanishes at once, see this pic for an example.
kick: Someone with certain powers (eg., ops) can kick a user out of a room. They can still rejoin, though doing so straight-away annoys some ops - so be careful.
kill: Usually reserved for higher-ups such as IRCops, this will disconnect a user from the whole server.
ban: Pretty self-explanatory. A banned user can either not rejoin the channel until the ban is lifted. Ban evasion does not impress the powers that be, so don't bother trying.
k-line: k-line is used to ban a user from a server, permanently or just temporarily. If you are k-lined from you can still join The k means kill.
g-line: g-line is a special form of k-line. The g stands for global and it means that the user will be banned from all servers on the network.
NickServ: A bot who selflessly looks after the administration of nicknames.
ChanServ: Another administration bot that looks after channels. ChanServ can be set to auto-op certain users (usually requires having registered a nick with NickServ and successfully identifying yourself), and keep channels open (visible in the /list) even when there are no users in them.
Channel 0: For historical reasons, joining Channel 0 (no '#' sign) will disconnect you from all channels (but not the server). In the olden days (80s and early 90s) channels didn't have names - just numbers.

Channel modes

I mentioned channel modes earlier. You will often see letters after a channel name. For example, after the #toribash channel name if you type /list you will see +Cntr. These are basically settings for the channel that you should be aware of. Here are some of the common ones:
p = Private channel
s = Secret channel
i = Invite-only allowed
m = Moderated channel, Only users with mode +voh can speak.
n = No messages from outside channel
t = Only Channel Operators may set the topic
r = Channel is Registered
R = Requires a Registered nickname to join the channel
O = IRC Operator only channel (Settable by IRCops)
k = Needs the Channel Key to join the channel
H = No +I users may join (Settable by Admins)
N = No Nickname changes are permitted in the channel.
G = Makes the channel G Rated. Any bad words are replaced with in channel messages (
C = No CTCPs allowed in the channel.
z = Only Clients on a Secure Connection (SSL) can join.
courtesy of this page




Chatzilla is cross-platform (Linux and Mac Users can also use it) and is very easy to setup. It is principally run as a firefox extension (though you can install it with any mozilla-type browser such as...Mozilla), you can download it here, you will need to restart firefox. It can be accessed from the Tools menu.

You can just enter the normal commands here as discussed earlier. After entering a channel you will be faced with a standard irc layout with your various windows tabbed at the bottom and the user list on the left. Before you do that, you should learn about your preferences. Go to the menus at the top and select Chatzilla->Preferences.

You can set a whole bunch of things up here, explore the tabs and see what's going on. A lot of the options may seem like nonsense but for the most part you can ignore them. Once you have had a look through, and made any changes (I suggest you at least fill out the identification details). Over on the left you will see that the preferences are labelled "Global Settings". If/When you are in a channel it will also list them underneath the Global Settings and Server Name labels.

Another useful thing worth taking a look at in preferences is when you have connected to a server, underneath "Global Settings" if you select the server name (eg., there is at least one immediately useful field: It is called Auto Perform and is located in the Lists tab. You can add commands here that you want to automatically entered upon connecting to that server. This can be great for identifying yourself to NickServ. Simply click 'Add' and type /msg NickServ identify <password> which should save you some time (not a good idea if you are sharing computer login accounts with somebody else since they would be able to login to irc and use your protected name for mischief - also the password will be plainly visible and readable to anyone sat at your computer so be aware).


There is already a fine tutorial on setting up mIRC so it would be redundant to make another one. mIRC is a very popular and long-running client. There are a ton of websites out there with extra help, scripts and other useful resources. With that in mind, mIRC might be the best client to start with. There will be a wealth of people in the channel using it, and so if you have a quick question about it you are more likely to get a response. mIRC can be downloaded here


But if you are wanting something a little different you can try any of the other clients mentioned above or this gem (download) might be worth a viewing. The setup is easy to follow, it asks you for your nick, your quit messages etc. Just go through these adding what details you like. All of these things can be changed later.

To connect simply click 'Connect' and a Connect window (or tab if you selected Tabbed View in the setup) will open. Type in and click the connect button over on the right hand side.

As you will see there is a handy box for typing in your IRC commands. Type /join #toribash in here (or just use the handy dandy 'join' button!) and you will be in the toribash channel in no time. One good thing about leafChat is that while you are in other channels (or going through options etc), it makes a little popup on the taskbar telling you what is being said in the other channels.

Customizing can be done via the Options button. There are a few themes (and I'm being generous here, I only found 2), but you can configure the colours with ease from in the options window should you wish

Likewise scripts/plug-ins are possible, but already written ones are not easily found on the web.

leafChat isn't the ultimate IRC client when it comes to lots of user-generated content, but for simple every day usage it is absolutely fantastic and highly recommended. If you want something a little different give it a go.

You can set it to automatically join channels upon connecting to a server through the 'Join Button'. Select the Favourite Channels tab, and just select the Auto-join checkbox.
Windows and Mac versions available! They can be found using the download button above.



XChat is one of the preferred IRC clients for Linux. Installing it depends on your setup, it might be as simple as typing apt-get install xchat in a terminal. If your distro doesn't make use of the Advanced Packaging Tool you can download what you need from the XChat website.

When you start XChat you will be presented with a dialog box headed 'Network List'. The top half of the dialog is dedicated to your information. Fill that form out, remembering that other users may well be able to read the information (so you don't need to take the Real Name field literally...always be careful with your personal information).

The toribash server isn't on the list by default, so click the Add button, enter a name (eg., "Toribash") and then click Edit. A new dialog box appears titled 'Edit Toribash {or whatever you called it}'. You can add any number of servers in the top field, and if one of them is having difficulty XChat will try connecting to the others. For now, just click 'Edit' and edit the defaultname server that already populates the field. Obviously you will edit that to ''.

Below this there are a variety of options you may play about with; usefully you can specify which channels you want to join when you connect to the toribash IRC server. You may enter multiple channels like this:

#toribash,#olda -> use commas but no spaces!

Another handy option is to specify your NickServ password. You might not have one yet, but you can come back here later and add it in there. It'll save you having to /msg NickServ identify every time you login.

Finally, there is the Connect Command field. This is useful for power users. You can send a command to the server upon connecting, for more details hover over the field with the mouse pointer. Don't worry about it too much if you don't understand it. Once you have finshed on this screen select "Close" which takes you back to the Network List. Make sure what you have just added (eg., Toribash) is selected and click 'Connect'.

Now that you are in a channel you can enter chat texts or server commands in the text box at the bottom situated to the right of your nick. Over on the right you should have a list of users. To the left is the list of channels you are in (by default it is set out like a tree with the server at the top and all the channels within that server branching below it...unless you are going crazy already, I recommend you switch that view to the simpler tabs format. Follow the menus: View->Channel Swticher->Tabs)

There are lots of customizing options in Settings>Preferences where you can change the appearance quite dramatically as well as muck about with various other settings.

Scripts are also useful. With a bit of work some pretty useful scripts can be accessed. I recommend checking out Angel Dust, which is very good, adding 60 commands, usefully including a command for language translation (using babelfish or google translator). With this script all you need to do is type /googletrans en de I just decapitated you and you get the reply "Ich habe gerade enthauptet Sie" (If you know German you'll appreciate that the grammar is wrong (thanks to Bias I know it should read: " Ich habe Sie gerade enthauptet"): if you don't know German don't try and bluff that you are fluent using this!). You can also check rss feeds, do searches on google, youtube, slashdot and even skip tracks on your music player!

To load a script you can use the menu XChat-> Load Plugin or Script or you can just type /load <file>. Scripts are either Python or Perl and you need to have these installed to use them (most distros have them both as standard I believe).

XChat Macintosh instructions: It looks pretty much the same, and can be downloaded from Softpedia

XChat Windows instructions: This is an unofficial version - but it works just fine and can be downloaded from here.



Unfortunately I don't have access to a Mac so this tutorial will have to be sketchy, however I hear good things about Colloquy so so it would remis of me to not include it here. It maintains the look and feel of Mac applications so it might be a good bet if you are used to or prefer that kind of thing. The main website can be found here.

Once you have opened it up you click File->New Connection. A dialog box will open up, in here you can type in your Nick and the server name Make sure the "Server Protocol" is set to IRC (I believe it is the default, but just check anyway). You might also consider selecting "Remember this Connection" as well, meaning you won't have to type it in every time. There are some extra details underneath all of this, just click the details button. The useful things to fill out are "Real Name" (Don't use your actual real name unless you want everyone to know it!). Here you can also set what rooms you want to join, just click the "+" button under Join Room and you can now type in a channel name (eg., #toribash). Now click "Connect"

I don't think that will get you into a room just yet, you may be presented with a further dialog box which lists the server you have added. Select that and click 'Join Room' and enter the channel you want to join (eg., #toribash) before clicking "Join". That should get you into the main chat area. If you want, the little button next to where you enter the channel name can be pressed, and this acts in the same way as the /list command, it displays all the rooms you can join.

The layout is fairly straightforward with the user names on the left, and the main chat channel dominating the screen. There is a quick style changer button in the top left but there are lots of other options to customize things further - and it's always a good idea to check out the preferences (it's located in the menus).

Another nice feature (but which ups the potential NSFW (or parents) factor somewhat is that it displays inline images. That means that if someone was to type in the address of an image (eg.,, it will display the image rather than the address of the image. I'm sure you can see how this might be a problem if your parents/children/boss/teacher/wife happens to be looking over. This option can be turned off in the preferences.

Plugins and scripts are well supported, they can be written in a number of things including Javascript and Python, and styling can be done using CSS and XSL. Don't worry about that though if it is confusing you can just go here to browse through some of the things that other people have written.

(shamefully stolen from here)


If you don't want to install any programs, or just want to have a quick peek at IRC without worrying about the hassle of setting up a program, you can just use one of the many web-based clients out there.


I found mibbit to be rather excellent and can predictably be found at On the front page you simply select Other Server in the drop down menu, type the name of the server (once again, your preferred Nick and the channels you want to join (seperate each #channel_name with a comma, so it might look like #toribash,#olda), select Go and you are in! Simple as.

It is much more limited than a web-based client, but it is useful as an introduction to IRC and what goes on in the channels and to be honest - it's better than you might think. You can also register at the website to get access to various preference settings including setting it up to auto-join channels on startup and identifying you to NickServ to save you the hassle.

Tips and Tricks

These are not all supported by all clients but they can make your life easier.
  • Pressing the up arrow key while the cursor is in the command line will scroll past previously entered text
  • If someone says your name, the window will flash or there will be a beep. The details are configurable.
  • You don't have to type everyone's name out everytime, just the first letter or two is usually unique enough. Press the tab key and it will auto complete. bl <tab> will display "Blam" (it even gets the capitalization right for you).
  • Autocomplete also works for commands. /jo<tab> will display "/join", for example.
  • Right-click on a user's nick usually opens a menu where you can send files, private messages, get information about the user etc. Sometimes double-clicking their name will start a private message session.
Brilliant thread, extremely helpful, this will come in handy to many people
Plus, I'm in a screenshot. Took long enough to be in a tutorial ^^
Render Nerfnow: Website
Originally Posted by Ban4life View Post
where can some one download this IRC?

Google "mIRC" and it'll come right up ^_^
WOW! Thanks for this, I really needed to figure out the commands.
<Hanz0> Crush his hopes and dreams in the palm or your hand.Doitdoitdoit ;D
Sweet tutorial! Though can you use jmirc?
My hands are staind with blood, just like yours, but unlike you, I'm not scared.