Quick Start
We will assume you or your provider
has installed one of the mainstream IRC clients already. If not, see
the links in the previous section. Once installed, most clients have
shortcuts for getting started quickly, using default nicknames,
servers, and ports on those servers. (To help distribute the load
better, each server permits connections on many different openings
or "ports", usually leading to redundant connections to
the same IRC network.)
For example, mIRC has a connection
dialog that lets you pick your nickname and suggests some server
choices. From the UNIX prompt, ircII may be launched just by typing irc
which should connect you using your login name as your nickname and
a default server. Ircle has a few icons in its folder such as #macintosh
and all you need to do is double-click on them to join that channel,
which happens to be on a network called Undernet.
If these quick starts don't
immediately work for you, don't worry, they are just like teaser
movie previews compared to the full IRC experience. In the next
section, we will show you how to make a proper connection to a
server, then how to list available channels and join them, as well
as how to find your friends and like-minded people.
How to get
started.
Unlike
the World-Wide Web, which first-time users can pick up
quickly, Internet Relay Chat may seem difficult the
first time you log on. Once you've mastered a few
basic commands, however, IRC becomes very easy to use.
Logging
on. Just like
you need a Web browser like Netscape or MS Internet
Explorer to use the World Wide Web, you need an IRC
client to connect to an IRC server. Once you have
downloaded and installed an IRC client you can log on
to some IRC server and talk away. The first thing
you'll want to do is choose a nickname; everyone on
IRC uses one. People will soon recognize you by your
nick, or even search for your nickname on IRC. Choose
your nick with care; it will be the virtual -you-.
Finding
a channel. It
is not uncommon for an IRC server to have dozens,
hundreds or even thousands of chat channels open
simultaneously. There are some more or less permanent
channels, but others come and go. Although a channel's
name usually reflects the general nature of the
conversation within, each channel can also have a
specific topic. Channel names tend to remain constant,
while topics change continuously. For example, in a
channel called "PC Users" the topic might be
"Windows 95 Bug Fixes" one day and "How
to Choose a High Speed Modem" the next day.
You'll
notice that all channel names begin with #. One
popular and longstanding channel, for instance, is
#chat. If you decide to wade in, just type: '/JOIN
#chat' and voila, you're in. Type in some greetings
and you'll see them appear on screen, along with
whatever everyone else types. You'll probably feel
lost at first, since you're popping in on a
conversation that's already in progress. In fact,
several conversations may be going on at once.
It
would be great if you could get a list of all those
channels containing only the funny, witty and wise,
but you can't. Instead, you have to use the '/LIST'
command, which lists all public channels, the number
of users on each and a topic description for those
that provide it.
Channel
topics are set by the person who creates or moderates
the channel, called the channel operator or 'op'. Chat
participants can exchange ideas about common
interests, making chat sessions an ideal means to hold
forums and group discussions. For example, many
businesses now hold scheduled chat sessions, wherein
customers can chat with company representatives about
a new product, or exchange technical information and
advice.
On
IRC many people can simultaneously participate in
discussions over a channel or even multiple channels.
There are no limits to the number of people who can
join a discussion and there is no limit to the number
of channels that can be made. You are only limited by
your typing speed. IRC can be fun and informative and
is rapidly becoming one of the most popular areas of
the Internet. And IRC will undoubtedly evolve over the
next year or two with advancing technology...
Private
Conversations. The
conversations are not limited to whats is going on on
channels. You can have private conversations at the
same time! If, lets say, you want to speak to Speedy
privately, you can send him a message, as follows:
'/MSG Speedy What do you say we hide in privacy for
awhile?'. The /MSG will open a private conversation to
Speedy. Nobody can interfere in your private chitchat
now ! In my view, private conversations are one of the
handiest things about IRC.
Aside
from meeting new people, then, IRC is also good for
saving on phone bills, holding conferences or
practicing a foreign language. If you're in New York
and your former college roommates are in Boston,
Dallas and Seattle, you can make an IRC date, set up
your own IRC channel and even use /NOTIFY to be
informed when they log onto IRC so you can /INVITE
them into your private channel!
Basic IRC
Commands
Every IRC client has an input area
where you can type what you want to say or issue IRC commands. You
issue IRC commands by typing on a new line something beginning with
a / (forward slash) character. Anything that does not begin with a /
is assumed to be a message you are typing to someone or some
channel. In the following I will describe the more common commands
used in everyday IRC life. Commands you are supposed to type will be
shown in red, while
text which you will see in response will be shown in blue.
In addition, the graphical clients
such as mIRC or Ircle allow you to use a mouse to point and click
your way around IRC, so that you don't have to type many of these
commands manually. You should still learn the commands properly,
because often they are the only way to specify precisely what you
want done, and also they are often faster and easier than navigating
through the labyrinth of buttons, menus, and dialogs that are
supposed to make your life easier.
/HELP [optional command
name]
-
The first and
most useful command is the on-line help built into
all good IRC clients just by typing /help
where you normally type to chat. This should bring
up a list of all commands. You can also get
specific help for a command, such as /help
who for the /who command.
You can get a
quick introduction to IRC built into your client.
mIRC users type /ircintro
while ircII users type /help
intro or /help
newuser.
If you are not
sure about the spelling of a mIRC command, just
type in the first few letters. The help window,
which shows commands arranged alphabetically, will
open to approximately the right place so that you
can choose to learn about a specific command.
If you are not
sure about the spelling of an ircII command, type
the first few letters and press the ESCape key
twice. ircII will give you a listing of COMMANDS
and ALIASes that start with that prefix. Don't
forget the "/irchelp/" in front of the
command, though.
For example, you
type the following:
/W <ESC><ESC>
You get as a response the following (this is just
an example. Your screen may show more or less
aliases or commands):
*** Commands:
*** WAIT WALLOPS WHILE WHO
*** WHOIS WHOWAS
*** Aliases:
*** W WA WH WI
/SERVER
new-server-hostname
-
Each server is
known by a "hostname" such as
irc.ais.net, us.undernet.org, irc.dal.net, or
irc.webbernet.net, which are sample servers for
the networks EFnet,
Undernet,
DALnet,
and IRCnet,
respectfully. Just specify the hostname to connect
or switch to that server. For example:
/SERVER irc.psinet.com
You then see the
following messages indicating your client has
successfully connected to that server.
*** Looking up your hostname...
*** Found your hostname, cached
*** Checking Ident
*** Got Ident response
*** Welcome to EFNet IRC - the Internet Relay Chat Network foo
*** Your host is irc.psinet.com, running version 2.8/hybrid-5.3
[remaining server messages truncated]
/NICK new-nickname
-
Change the
nickname by which you are known. Nicknames are
usually limited to 9 characters. For example, if
your default nick was "foo" and you want
to change it to "YourNick":
/NICK YourNick
*** foo is now known as YourNick
/LIST
-
Lists IRC
channels, number of users, and topic for each.
This is how you find places to go meet people and
chat.
/LIST
*** Channel Users Topic
*** #test 1 this is a test channel
*** #IRChelp 18 Ask questions on the channel or see www.irchelp.org
[remainder of list not shown]
If you're on a
big network, this list may be very long, up
to many thousands of channels! It may even cause
you to flood yourself off so that you get
disconnected from the server. If that happens, try
using different servers on that network, or
instead use the searchable EFnet
channel list web page which is updated hourly,
or the less frequently updated but more
comprehensive Liszt
channel list.
You can also
search for specific keywords by using /LIST
keyword in mIRC, or /LIST
*keyword* in ircII. Note this may or
may not be any faster or safer than a full list
depending on the network. On networks like EFnet
and IRCnet, for example, your client gets the full
list first and then does the filtering internally
before displaying matches to you. On Undernet, the
server filters the list and sends only the matches
to you, which can be much faster if you're on a
slow modem.
/NAMES #channel-name
-
Shows the
nicknames of all users on that channel. While
theoretically this is supposed to work whether or
not you are on that channel, in practice most
people these days are set to be
"invisible" and thus do not show up on
such queries unless you are in the same channel
already.
/NAMES #demo
Pub: #demo @YourNick +buddy DeepMpact @FunGuy PrettyGrl
The "@"
symbols show that YourNick and FunGuy are
"channel ops", and that buddy has been
given a "voice". These terms will be
described in more detail in the channel
modes section later.
/WHOIS nickname
-
Shows information
about the nick specified.
/WHOIS buddy
*** buddy is abcd@dialup-6.provider.com (Think different.)
*** on channels: @#demo #test123
*** on irc via server irc.psinet.com (PSI Net EFNet IRC Server)
The
"abcd@dialup-6.provider.com" looks like
an email address but actually abcd is buddy's
identifying "username" on
dialup-6.provider.com, which is the
"hostname" of the computer buddy is
using for IRC. One cannot arbitarily change the
hostname, because it is the computer's address on
the Internet, and it is required in order for the
IRC server to communicate with one's computer
properly. Next, in the parentheses, buddy shows a
personal message instead of the real name which is
supposed to go there.
The second line
shows he is on the "public" channels
#demo and #test123, and the @ symbol means he is
an operator on #demo. It doesn't show other,
"secret" channels he might be on.
Finally the third line shows which IRC server he
is using.
/AWAY away-message-here
-
Leave a message
explaining that you are not currently paying
attention to IRC.
/AWAY getting coffee, be back in 5 mins
You have been marked as being away
If your friend
does /whois YourNick
now, they will get the 3 lines as described in the
/whois section above, plus a final line saying:
*** YourNick is away:
getting coffee, be back in 5 mins
/AWAY without any
additional argument will remove the away message.
/AWAY
You are no longer marked as being away (or something to that effect)
/QUIT [optional
farewell message]
-
Exits IRC (also
leaves any channels you may be on).
/QUIT hasta la vista, baby!
*** Signoff: YourNick (hasta la vista, baby!)
Chatting on
IRC
The point of
IRC is to chat, and as mentioned before, you may join in public
discussions on channels or talk privately to one person at a time.
We will show you how to do both here.
Public
Conversations
We previously
learned how to find channels using the /list
command. Here will talk about how to join those
channels and talk on them.
There can be many
thousands of channels on the largest networks,
each with anywhere from one to hundreds of people.
Each channel is controlled by channel operators or
"ops" who have absolute authority over
their channels. We will discuss more about that
later. You should always observe basic netiquette
when visiting other people's channels.
/JOIN #channelname
-
Changes your
current channel to the channel specified. If
the channel does not exist already, it will be
created and you will be in charge of the new
channel and be a channel operator or
"op" - more on that later.
/JOIN #new2irc
*** YourNick (foo@hot.school.edu) has joined channel #new2irc
*** Topic for #new2irc: New users welcome! Questions answered with a smile! ;)) RC
*** Topic for #new2irc set by Otiose on Sun Aug 16 10:28:06 1998
*** Users on #new2irc: YourNick FunGuy @pixE @MsingLnk @^Chipster
[rest of list truncated]
When you join
a channel, everything that everybody says is
preceded by their nicknames so others can tell
who is saying what. For some IRC programs, it
doesn't show your own nickname, but don't
worry, other people still see it!
You type:
hello world!
but everybody else sees:
<YourNick>
hello world!
/ME does
something
-
Performs an
action on a channel. Unlike talking normally,
actions do not start with <YourNick>.
Use /ME in the third person (verbs like
"is", "does",
"runs", etc.).
/ME is a pink bunny
YourNick is a pink bunny
/LEAVE [#channel_name]
-
Leaves the
specified channel, or if no channel is
specified, leaves the current channel.
Private
Conversations
/MSG
nickname message
-
Use the
/MSG command to send someone a message that
only that person can read. Say you are
"YourNick" and you want to talk to
your friend "buddy".
/MSG buddy hello,
how are you?
On your
screen, you would see:
-> *buddy*
Hello, how are you?
On buddy's
screen, if he is using ircII he sees:
*YourNick* Hello,
how are you?
To answer
such a message using ircII, buddy would
type:
/MSG YourNick
Fine, thanks!
If buddy is
using mIRC, he will instead get a new
"query" window dedicated to this
private conversation with you. Everything
you /MSG him goes to that window. As soon as
he responds to you in that window, if you
are also using mIRC you will likewise also
get a "query" window.
/QUERY
nickname and
/QUERY
-
In mIRC, if
you initiate a /MSG you don't get a
"query" window until the other
person responds to you. You can set up a
"query" window on your side right
from the beginning by using the /QUERY
command:
/QUERY buddy
In ircII,
you can have a private conversation by using
/MSG nickname repeatedly, but that can get
cumbersome. That's where the QUERY command
comes in handy. When you issue the above
command, all subsequent text will be send as
private messages to that nickname, except
for "/irchelp/" commands. Use /QUERY
with no nickname to end a private
conversation.
Here's an
example of a private conversation between
you as "YourNick" and your friend
"buddy", as seen from your point
of view. Statements from your IRC client
program start with "***", outgoing
messages from you to buddy start with
"-> *buddy*", and incoming
messages to you from buddy start with
"*buddy*".
/QUERY buddy
*** Starting conversation with buddy
Good morning
-> *buddy* Good morning, buddy.
*buddy* Hi, YourNick. How is life ?
Pretty good. I have to get back to work, bye.
-> *buddy* Pretty good. I have to get back to work, bye.
*buddy* OK, talk to you later.
/QUERY
*** Ending conversation with buddy
/CTCP
nickname PING
/CTCP #channel-name PING
-
Sometimes
you are talking to your friend and suddenly
it seems like he's not paying attention.
This may be due to server "lag" on
either end, which is the roundtrip delay
between when you say something and your
friend sees that message. Normally lag is
less than a few seconds even when you are
talking to people on the other side of the
planet, but sometimes the servers
temporarily suffer from serious lag. If you
suspect this is the problem, you can test
your lag with a sonar-like ping signal under
the Client-to-Client Protocol (CTCP). If you
are just talking to one person, ping that
person. If you suspect you are generally
lagged to a lot of people, ping a channel
with say 10 people which is the same as
pinging each person on that channel
separately. The range in ping response times
will tell you if you are lagged in general.
/CTCP buddy PING
*** CTCP PING from YourNick!foo@hot.school.edu to buddy: 903330542
*** CTCP PING reply from buddy: 1 second
The last
line is the part you care about. It says you
are lagged less than 1 second to buddy,
which is very good. Note that in most
clients including most versions of ircII and
mIRC, this is aliased to /PING
nickname, or /PING
#channel-name, but not always.
Some Mac clients such as Ircle use /CPING
instead.
DCC CHAT
-
/DCC
CHAT nickname
/MSG =nickname message
/DCC CLOSE CHAT nickname
DCC stands
for Direct Client Communication, where you
and your friend's client programs connect
directly to each other, bypassing IRC
servers and their occasional "lag"
or "split" problems. Like /MSG,
the DCC chat is completely private.
If you are
"Yournick" and your friend is
"buddy", here's how to use DCC
chat:
You type:
/DCC CHAT buddy
You see:
*** Sent DCC CHAT
request to buddy
While buddy sees:
*** DCC CHAT
(chat) request received from YourNick
Now buddy
types the same thing but using your nick:
/DCC CHAT YourNick
The
connection goes through and you see this (he
sees something similar). The numbers are his
IP number (the numeric version of his
computer's hostname) and his port number.
*** DCC CHAT
connection with buddy[123.4.56.78,54321]
established
Now to talk
to buddy, in graphical clients like mIRC you
will probably have a separate window for the
DCC chat so that everything you type is sent
to buddy. Just type normally in that window.
Alternatively, from any window you may use a
/MSG with an equals sign immediately before
his nick, which distinguishes this DCC CHAT
message from a regular /MSG buddy whatever:
/MSG =buddy now
we're talking!
When you're
done talking, either close the graphical
window (if there is one available) or
manually close the connection:
/DCC CLOSE CHAT
buddy
*** DCC
chat:<any> to buddy closed
File Transfer
In addition to
talking, IRC has also become a popular and
convenient way to exchange a wide variety of
files. Be forewarned, however, that many people
are getting into serious trouble by downloading
files that seem interesting or enticing, only to
find out they are trojan
horse attacks. These hacks allow strangers
to take over your channels, force you to
disconnect, erase your hard disk, or worse. The
moral is clear: Never accept candy from
strangers. For more information, see our Downloading
Files from IRC guide.
-
DCC SEND
and GET
-
Like with
DCC chat described above, DCC file transfer
requires an exchange of commands between the
sender and getter of each file. For example,
if you as "YourNick" want to send
the file "foo.jpg" to your friend
"buddy", you would type:
/DCC SEND buddy
foo.jpg
*** Sent DCC SEND
request to buddy
If you
specify the filename without a directory
path, it will assume the file is in the
default directory. For mIRC that is usually
c:\mirc and for ircII it is usually your
home directory. If the file is somewhere
else, you will need to specify the path to
that file, such as:
/DCC SEND buddy
c:\other\directory\foo.jpg
Now for
buddy to get the offered file. If he is
using mIRC, a dialog will open asking him
whether he wishes to accept the file, cancel
the offer, or even ignore the offerer. In
ircII, buddy will see the following request
and types this in response:
*** DCC SEND (foo.jpg
180) request received from YourNick
/DCC GET YourNick
You will
then see the following as the DCC connection
is established and the transfer eventually
completed. On the other end, buddy sees
something similar too.
*** DCC SEND
connection to buddy[123.4.56.78,54321]
established
*** DCC
SEND:foo.jpg to buddy completed 1.234 kb/sec
Channel Operators
Channel operators or "ops" have absolute power over their channel, including the right to decide who gets to come in, who must leave, who may talk, etc. When you first start out, it's best to chat on other people's channels and heed their rules, or else you may find yourself kicked out. If that happens and you cannot settle your differences with the ops, just go to another channel.
At some point you will probably want to try your hand at being a channel op, either by creating your own new channel or by gaining the trust of the ops on an existing channel. You need to know a whole different set of commands. With this power comes the sometimes frustrating responsibility of maintaining the channel against intentional abuse as well as the usual IRC mishaps.
Some networks such as Undernet and DALnet support channel registration, whereby you can "reserve" a channel. The advantage is that you are assured control over the channel as long as you show up once in a while, the disadvantage is that many popular channel names are probably already registered by others.
Two of the largest nets EFnet and IRCnet do not support channel registration (or any other services). On these nets, there is no way to ensure you will always control a channel. Some channels try hard with all sorts of bots (which are explicitly banned by most servers) and protective scripts, but it's really just a matter of time before somebody with the right combination of lameness and knowledge comes along and takes over the channel.
An IRC channel operator (commonly abbreviated to op) is a person that runs an (Click link for more info and facts about IRC) IRC channel on a given IRC network. They are responsible for maintaining the modes of the channel, the banlist, and are responsible for kicking out people that do not behave.
The person that first created a channel automatically gets operator status, and is later referred to as the channel founder, which usually gives them further privileges on networks with (Click link for more info and facts about ChanServ) ChanServ. Existing channel operators can set user modes on other users and also make them operators by setting the +o mode.
Some servers feature halfops. These users are privileged in a certain channel, though not as powerful as ops. Halfops may kick other users out of the channel and set most channel modes. They are not allowed to make other users ops or halfops. This is supported on IRCds such as UnrealIRCd. Other IRCds such as Bahamut (DALnet) do not have halfops.
Channel Maintenance
This section will cover the basic commands used by channel ops to maintain a channel. Try them on a test channel!
Two of the most common things that ops do are setting the channel topic and kicking out abusive people. For the purposes of this section, let's say you have ops on the channel #demo.
/TOPIC #channelname whatever topic for channel
Channels have topics which indicate the current topic of conversation. Theoretically anybody can change the topic on a channel with the /TOPIC command, but usually the channel operators make it so that only they can change the topic. This topic is shown when anybody first joins the channel, and it is also shown constantly at the bottom of the window for graphical clients like mIRC and Ircle.
/TOPIC #demo hello, testing
*** YourNick has changed the topic on #demo to hello, testing
/KICK nickname [optional reason]
Forcibly kick that nickname out of the current channel with the reason specified. If no reason is given, it will just use your nickname as the default reason.
/KICK buddy go away, you're annoying me
*** buddy has been kicked off #demo by YourNick (go away, you're annoying me)
Channel Modes
In addition to the above commands, the behavior on each channel is governed by many "modes", each denoted by a single character such as "x" which can be turned on or off using "+x" and "-x" respectively. You can see the modes currently in effect on a channel by issuing the /MODE command without any flags. For example:
/mode #demo
*** Mode for channel #demo is "+tn"
What does the "+tn" mean? Those and other modes are described below.
Public
This is the default channel mode. Public means that everyone can see the channel in the /NAMES and /LIST lists. These channels usually welcome newcomers.
Private (p) or Secret (s)
The "+p" or "+s" will be explained later, for now consider them to be flags denoting the nature of the channel. These channels provide privacy and security for insiders and may or may not welcome newcomers. If you don't know the names of these exclusive channels already, you won't find them using /LIST. Even if you know the channel name, you still cannot use /WHO #channelname to see who is presently in there unless you join the channel yourself. Note: private and secret are not the same thing, but the difference is pretty arcane.
To make #demo a secret channel:
/MODE #demo +s
*** Mode change "+s" on channel #demo by YourNick
To make #demo a public channel again (removing the secret mode):
/MODE #demo -s
*** Mode change "-s" on channel #demo by YourNick
In the following examples I'll leave out the responses in blue since they are all similar to the above.
No external messages to the channel (n)
People outside the channel cannot do /MSG #channel_name [whatever] which would otherwise be sent to everybody on the channel
Topic control (t)
Only channel ops are allowed to change the topic
Channel ops (o [nickname])
Any op can give ops to anybody else, and once that other person gains ops, he has the same power as you do, including the ability to remove your ops or "deop" you, or even to kick you out. This is known as a takeover. Don't share ops with others unless you trust them fully!
/MODE #demo +o buddy
You can also do a few of these together on the same line, such as:
/MODE #demo +ooo larry curley moe
Moderated (m)
On a moderated channel, only channel operators can talk publicly, others can only listen and will get "cannot send to channel" errors if they try to talk. The exception is if you are given a voice (+v). Moderated mode is useful for conferencing or keeping control over very busy channels.
Invite Only (i)
People can only join your channel if an op permits it. To set it:
/MODE #demo +i
Then to let buddy in, use the /INVITE command:
/INVITE buddy #demo
Limited (l [number])
Only that number of people are allowed to /JOIN the channel.
/MODE #demo +l 20
Later to remove the limit (note you don't need to specify the number):
/MODE #demo -l.
Keyword or Password Protected (k keyword)
You must know the keyword to /JOIN the channel. To set the keyword as "trustno1":
/MODE #demo +k trustno1
Then in order for somebody outside to join, they must type:
/JOIN #demo trustno1
And to remove the keyword:
/MODE #demo -k trustno1
Channel bans (b [nick!user@host])
I've saved this for last becuase it's the most complicated. After a kick, the offender can still rejoin the channel immediately unless you first set a ban to keep them out (remember to ban then kick, not the other way around). You need to specify a ban "mask" that matches the offender's nickname, username, and hostname (if you are not crystal clear on the distinction between those three, revisit the /WHOIS command in part 1 now or else what follows will only confuse you more). You also need to use wildcards like the "*" character to replace any part the offender can easily change.
For example, if you want to ban buddy, and his /WHOIS says:
*** buddy is abcd@dialup-6.provider.com (Think different.)
Then the most specific ban mask would be "buddy!abcd@dialup-6.provider.com" (note the use of "!" and "@" to separate the nickname, username, and hostname). If he changes any of those three, however, he can slip right back in! For example, he could change his nickname "buddy" using /NICK. If he's using a graphical client like mIRC he can change his username "abcd" after a quick /QUIT and reconnect. He can even change the first part of his hostname ("dialup-6") by dialing up to his provider again. That's why it might make more sense to do:
/MODE #demo +b *!*abcd@dialup*.provider.com
Or even a domain ban against everybody from that provider (use sparingly since you may keep out a lot of innocent people):
/MODE #demo +b *!*@*.provider.com
You may view the current bans (from on or off the channel) by leaving off the ban mask. In the example below, there are 2 bans on #demo, the first an old ban restored by the server irc.mcs.net when it rejoined after a split, the second ban was set by buddy against anybody from the blah.net domain whose username contains "foo":
/MODE #demo +b
Current bans on #demo are:
*** #demo *!*@*.dummy.com irc.mcs.net 903321784
*** #demo *!*foo*@*.blah.net buddy!abcd@dialup-6.provider.com 903310028
If you want to remove the first ban, you have to use the exact same ban mask, namely:
/MODE #demo -b *!*@*.dummy.com
Most of the above modes can be combined. For example, to remove the invite-only restriction, while at the same making the channel with topic changed only by ops, not allowing external messages, and password protected with "trustno1" as the key:
/MODE #demo -i+tnk trustno1
|