IRC Tutorial Part 1 – Online Version

Ok, so I thought that pasting text files in a zip archive for a tut would be better hehe, but I was wrong 😉

So here goes…the Online Version of the IRC tutorial Part-1 that I posted earlier.

PS: The second part will also be posted soo. Enjoy 🙂

IRC (Internet Relay Chat) – Tutorial Part I

By: gastly (gastly_bkd (at) © gastly 2007

**NOTE:** If you want to reproduce this article or make changes to it in ANY way then ask for my permission first.

I. Introduction

Ok first of all I’ll tell you (If you’re too lazy to read that huge ASCII art or the writer’s name ;))that my name’s gastly. And this tutorial is about IRC (Hang on I’ll tell ya all about it!). Well this was supposed to be a advanced tutorial on IRC commands, but I guess I should write for the n00b’s too ya know :P. Well I’m actually new to IRC myself but well….ummmm….I take that back I’m not *that* new. I’ve actually been on IRC for about 6 months (ha! you say that I’m a n00b :P) so whatver just read this tut or delete it I don’t care ;P (Just Kidding!, sheesh read it and don’t dare delete it!).

II. About IRC (Internet Relay Chat)

Ok enuff of all the usual ‘yada yada’ (like Google folks usually say ;)) first of all I’ll take you deep in time before the IRC was born. IRC was created in 1988 by Jarkko Oikarinen of Finland (Don’t look at me…I pasted this from Wikipedia, I’m not a historian ya know!) because he wanted to create someplace for everyone to chat (God bless him! Nice job dude!). And now it’s being used all over the world. #For all the Mega n00bs: I’ll tell ya that IRC is a place of chatting with your friends and just having fun. So its kinda like a Text Chat environment and so it won’t contain any graphics or ‘voice’ chat or anything ‘funky’ like that. So if your looking for that stuff, then please use Yahoo! Messenger or MSN (And please *GET OUT!*….)#!

OK so back to the topic…uhm…uhm…

IRC has a main IRCd (IRC Daemon) that runs on the servers and is the base of the IRC protocol. Now, there are many versions of the IRCd (’cause its open source, it can be modified by anyone). They are used in different networks like Efnet,Undernet,DalNet etc.

1. Different types of network:

There are many types of IRC networks. The most common ones are: Efnet,Undernet,DalNet,FreeNode etc. etc. The list is too long. In these EfNet is the most oldest and then Undernet(I think). These use different types of rules and regulations and they have different features too (We’ll discuss about them later).

**Note:** My preferred network is Undernet! (If anyone cares that is :P)

2. Servers:

A big…wait…lemme rephrase that…BIG! IRC network has more than one server. That makes the users around the world access their network without getting too much load on a single server. So different servers have different location like one in NY or London etc. etc.

3. Channels:

In IRC there are Channel. So what are channels? A channel is the main place where people can chat. It is basically to keep the network organized. Users can join or leave a channel as per their wish, and users can only talk to people who are in the same channel they are in (well…not always but we’ll cover that up later). A channel has a name and there can be lots of channels on a single network (like Undernet has about 30,000 channel…whoa!). A channels name is always preceded with a ‘#’ (hash) sighn. Like ‘#Channel’ (without quotes ;P).
4. NickNames:

Well NickNames or just simple nicks, are a users identity on an IRC network. No two persons nicks can be same (on the same network). Nicks are a way to identify yourself on IRC like if your nickname is ‘John’ then the other users that see you will see ur name as ‘John’ and will call you that – and you should make a habit of responding to a person when he/she calls you (by ur nick) 😉 – no one can see your real name or email or blah blah…until you give them so…well u get the point 🙂

**Note:** I’m usually getting in details of a single topic which may lead to a ‘booooooring’ feeling…so please forgive me for that 😉

5. Channel Operators:

Well ya know all those people trying to post things that are illegal or are just hovering around for some fun and other other things…like ya know ;). These can cause too much havoc in a channel where users are chatting peacrfully. Ok lemme give an example:
Like you are chatting with someone in a channel. And this guy/gal comes in and starts swearing or flooding (repeatedly sending messages insanely ;o)) then u’ll get all cracky right? and will want to ram that person with a pickup-truck right? well that’s why the Channel Operators or ChanOps as we call them are for. So you know if someone doesn’t follow a particular channels guidelines (like ‘No Swearing’ or ‘No Flooding’) then the ChanOps will kick that person out. And in extreme cases they can ban that person too (well…the bans are for short times usually though hehe ;)).

6. IRCOps:

IRCOps are just like ChanOps, but they have full control over the server. Like a ChanOp can only ban someone from a channel, an IRCOp can ban someone from the whole server (whoa! that’s too much power eh?). IRCOps are the ones who keep the server neat and clean of all the badies that come to a server only for flooding or advertising. So they have a pretty hard job. Like if you’re an IRCOp you have to keep the server up and running and in case of a net-split (When a server gets disconnected from other servers in the network) or a heavy attack they have to find ways to get it working again…hehe well the best part is that you don’t get paid to do it ;). But don’t get dissapointed, no one will gonna make you on IRCOp unless you TRULY deserve it! :).

7. Bots:

Bots are like Robots hehe well like you didn’t guess ;P. They are machines (well usually programs or scrips hehe) that do what you tell them to. Bots are designed to do two main things:
1. Flood
2. Protect a channel

Well, bots can be destructive and constructive too (well I’ve seen destructive more than constructive *cough* *cough*). Like I said bots can flood a channel and can also protect a channel from other bots or flooders, its basically upto the owner of the bot (the person who runs it) to decide what he wants to do with it ;).
So now ya know all about ChanOps and Nicks and Server and etc. and etc.

Now lets go on to some ‘practical stuff’ 😉

III. IRC Clients

So…like you guessed…ya NEED some software to connect to an IRC network. So here I’m listing a few:
1. mIRC ( **DA CHOICE OF EVERYONE! (Including mine) ;o)
2. XChat ( **DA CHOICE of Unix people! (Including me) ;o)

Well fill in the blanks yourself. I have only used these two. You can also TelNet into an IRC server (port 6667 or 6666) but that’s a different story.

I will – in this tutorial – focus on the commands of mIRC although Xchat uses the same command, but there are different ones too except for the default ‘Join’ and ‘Part’ and some others.

IV. Getting Online

So you have a client? Not yet? Well…stop reading this tutorial and GO GET ONE! ’cause without it you won’t go too far – Well you won’t go anywhere without it actually 😛 – OK so now you have a client. Lets move on the soldier…

1. Basic Commands:

**NOTE:** When a command argument is specified do NOT type it with ‘< >’ it is just to show that it is an argument. And the arguments starting with ‘[<argument>]’ are optional.
Chat Commands:

i. Say Command: Says some text to the channel or on the active window (PM or DCC).

Syntax: /say <text>

<text> – The text you want to say

Example: /say Hello Everyone!


ii. Me Command: It’s called the action command. You can specify an action you are doing and the whole channel will
get to know.

Syntax: /me <action>

<action> – Tell everyone what you are doing

Example: /me is jumping around
/me sneaks in
/me whacks abcd


iii. Msg Command: It is used to send a message to the channel or another user in private.

Syntax: /msg [<#channel>] or [<nick>] <text>

<#channel> – Some channel
<nick> – Some nick

NOTE: You must specify either a channel or a nick (not both).

Example: /msg #channel Hello Everyone! //This will send to the channel #channel
/msg John Hi! //This will send to a nick named John in private


iv. Query Command: It is used to open a window (private chat) with a user.

Syntax: /query <nick>

<nick> – Someone’s nick that you want to private chat with

Example: /query John


Other usefull commands (some are essential to connect to the server):
i. Server Command: It is the first command you’re gonna use to connect to an IRC server.

Syntax: /server <server-address> <port>

<server-address> – It is the server’s address like –, etc etc….
<port> – The port to which your client should connect. Most common ports are: 6667, 6666

Example: /server 6667

ii. Nick Command: It is the command to change your current nick.

Syntax: /nick <newnick>

<newnick> – The new nick which you wish to use.

Example: /nick test1


iii. Join Command: It makes you join a specific channel.

Syntax: /join <channel-name>

<channel-name> – The name of the channel you wish to join. eg: #help or #irchelp etc etc.

Example: /join #help


iv. Part Command: It makes you part (leave) a channel

Syntax: /part <channel-name> [<part-message or part-reason>]

<channel-name> – It is the name of the channel you wish to leave or part. If nothing is specified then the current channel is parted (or left).

[<part-message>] – It is an optional argument, in which the text is displayed to the whole channel when you part the channel.

Example: /part #help Leaving….Bye all!


v. Quit Command: It is used to leave the channel as well as disconnect from the server.

Syntax: /quit [<reason>]

[<reason>] – Reason for quiting. It’s same as the [<part-reason>] argument.

Example: /quit Bye all!


vi. List Command: It is used to list all the channels on a network.

Syntax: /list [<topic>]

[<topic>] – The specific topic you want to search for.

Example: /list Computers


vii. Whois Command: It is used to get the IP or hostname of a specified nick. It also shows on what channel the
nick currently is.
Syntax: /whois <nick>

<nick> – The nick of the person.

Example: /whois abc


viii. Mode Command: It is used to change the mode of yourself or a channel or another user (only +b is allowed and
that too if you’re an op).

Syntax: /mode [<channel>] [<nick>] <mode>

[<channel>] – The name of the channel you wish to change the mode of or another user.
[<nick>] – The nick who’s mode your trying to change.
<mode> – The mode you want to set eg: +x +s +t etc etc.

**NOTE:** Mode +<mode> means setting the mode as ON and mode -<mode> means setting the mode as OFF.

Example: /mode #channel +s //This sets mode +s for the channel ‘#channel’
/mode #channel abc +b //This sets mode +b (ban) for a nick named ‘abc’ in channel ‘#channel’
/mode #channel +stn //You can also specify different modes in one go. In this command you set the mode +s
+t and +n all at once for a channel named ‘#channel’
/mode #channel -stn //This unsets mode ‘s’,’t’ and ‘n’ for the channel ‘#channel’

OK so here’s the list of the basic (and advanced ;))commands…but they are many more, but I’m only going to cover them up in this part. So here’s the way to get online ‘practically’….

**NOTE:** The lines starting with a ‘**’ are typed by me and the lines starting with a ‘##’ are the servers responces (or client responces) and the lines with ‘//’ are comments by me.

** /nick test1 //Do this to change your nick. So can also specify a default nick in your client options.
## Nick Changed to ‘test1’

** /server
## Connecting…
## Connected
## Looking up your hostname…
## Found your hostname
## Checking Ident…
## No Ident Responce

** /list computers //Lists all the channels whose topic contains the word ‘Computers’
## #computers – “Some Topic” //Channel names that matched our query
## #comp – “Some Topic”
## #comphelp – “Some Topic”
## #chelp – “Some Topic”

** /join #computer
## Now talking in channel #computer
## Topic: Ask for any computer help here
## Topic Set by ABC on 12/8/07

** hi all! //To say something in the channel just type any text and then press the ENTER key.
<ABC>Hi test1! //A user whose nick is ‘ABC’ is saying Hi to you ;o)

** hi ABC //You say hi to ABC

** /part #computers Gotta go…bye! //You part the channel
** /quit //This disconnects from the server
## Disconnected

**NOTE:** You could have also used this: ‘/quit Gotta go…bye!’ to quit the channel as well as disconnect from the server.

OK so this is the end of Part – 1 of this guide. I hope you liked it, well if ya don’t then its not my fault ;P
so stay tuned for the next part to come. Feel free to email me for suggestions and other things (no spamming or flaming pls ;)).
All thanks goes to the friendly ops of #Beginner on Undernet and DalNet.
Special Thanks To: Agent^Zed, Dec0da (:P), weta, NevilShute, Kanne^, Keri, ashnot, Angel-Joy, PapaJohn…..etc….etc…the list is soooo long….
and thanks to sam123, cherry^, faulty, `sambuca, unknown-gf…….(this list is VERY long! Longer than the previos one hehe) thnx for just being there and tolerating me 🙂 ;p

Thanks guys 🙂

PS: Some info taken from and from
Visit #beginner on Undernet…it DA MOST friendliest channel on IRC! 🙂 –

— Written By: gastly ( – Please don’t bug me for IRC questions. Undernet’s and DalNet’s #beginner is for your help! But if you still don’t find it (which can’t happen :p) then you can email me hehe 🙂


3 Responses

  1. […] Posts Apply Windows XP themes in WINEIRC Tutorial Part 1 – Online VersionMake Windows XP Look Good ;)IRC Tutorial Part – II (Online […]

  2. Hi. I stumbled across your web site while I was searching for something else. While I don’t agree with some of what you say we do have almost the same thoughts for the most part. I’ve bookmarked your blog and may visit again in the near future to see what you’re blogging about in 2010!

  3. Pretty ugly presentation, not easy to read, but good things to know.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: