In addition to simple nicknames, a more versatile way of
referring to user identities on IRC is the
user mask, sometimes referred to as user@host or ban mask.
User masks are used e.g. when placing channel
bans on the IRC server, and chances are that
your IRC client uses them locally as well for
specifying who should be ignored, automatically given channel
operator status, etc.
The mask is constructed as follows:
- the nickname
- ! (separator character)
- the user name
- @ (separator character)
- the host name or IP address
Wildcards are allowed, e.g. *!*@* would cover
anyone on IRC. Some servers also support the special wildcard
#, which signifies one digit, and CIDR prefixes,
such as *!*@192.0.2.0/23 (instead of *!*@192.0.2.*
and *!*@192.0.3.*).
The nickname
Since IRC servers ‘kill’ (i.e.
disconnect) duplicate nicknames on sight, the nickname is
often enough to specify a user. Nicknames can, however, be
changed at will, so they are not useful for control purposes;
if you decide to e.g. have your IRC
client ignore someone who is flooding you with unwanted
messages, you do not want him to be able to just change his
nickname and continue harassing you.
The user name
The user name will be either the name your
IRC client provides at logon, or the user name
part of your Ident server’s response. It may be preceded by a
special character indicating whether the IRC
server received an Ident response from your host (~ indicates
missing Ident) and whether your connection is restricted
(from using certain commands).
The host name or IP address
Your host name will be the DNS name for the IP address you are
connecting from. If your network’s DNS service is broken,
or some other problem prevents the lookup from succeeding,
your user mask will contain your IP address
instead.
Let’s assume my nick is john, my user name is jdoe,
and the host I run my IRC client on is
ws155.example.com. This can be expressed as
john!jdoe@ws155.example.com. If my reverse
DNS would not work, the user mask would be
something like john!jdoe@10.10.10.10 instead.
Can I use someone’s user mask as his mail address?
Due to the @ character, the user@host part of the user mask
looks similar to a mail address, but nevertheless it is not
one. Mail sent to IRC user@host addresses on
Unix systems have a certain chance of finding its way to the
intended recipient since the user name probably exists and
the host machine may happen to run a mail server. For the
most part, however, this cannot be counted on.
Using IRC channels
One way of chatting is joining one or more channels. A
channel is a group of users chatting (or idling) together.
Channels are usually formed by people with something in
common – teens living in the same city, fans of the same
rock group, Linux enthusiasts... Any text you send to a
channel will be visible to all the users on that channel
(unless they have set their clients to ignore you).
Your IRC client may come with a pre-loaded
list of channels, but there is no guarantee that those
channels happen to be in use on your particular server or
network at any given time. You can have your client download
the current list of channels, but if the list is long, the
server may disconnect you for flooding the connection. You
may want to search on the Web instead.
The channel listing generated by your IRC
server will show the channel name, the topic if one exists,
and the number of users currently on that channel. Channels
where new users are welcome often have an informative topic
line in the language of the channel.
When you have found a suitable channel, use the command
JOIN to enter it, e.g. /JOIN
#mychannel or /JOIN &another. You are not
restricted to sitting on one channel at a time; you may join
several if you want to. I usually idle on a few
different channels.
What do the # and & prefixes in channel names
mean?
They exist so that channel names will be distinguished
from user nicknames. If the server is not connected to an
IRC network, it does not matter which prefix (#
or &) it was created with. However, if the server
is connected to another server (i.e. an
IRC network), only # channels will work
globally, across the network; & channels will be local
and work only on the local server.
Who are these people with nicknames that start with a @
sign?
The channel operators (chops or
chanops) are the hosts and rulers of their
channel. You can recognize them by the @ prefix
added to their nickname whenever it is listed in the context
of that channel.
Chanops can set modes and kick and ban
users as they please. There is basically no one you can
complain to about having been treated unfairly by a channel
operator, e.g. kick-banned for no good reason;
instead, you can create a channel of your own and run that
channel as you see fit.
How can I persuade the channel operators of an existing
channel to op me?
Hang out on the channel frequently, acting according to
the norms for that channel.
Asking for ops is one of the most
counter-productive things you can do; you will look like a
clueless newbie who is interested only in gaining channel
operator status.
Why can’t I join the channel of my choice?
If you are prevented from joining the channel of your
choice, chances are that one or more of the following
circumstances exist:
- you are banned from the channel (channel mode +b) – this
does not necessarily mean that you personally are unwelcome;
bans are often set to exclude anyone from a certain domain
or network
- the channel is invite-only (channel mode +i) and you
have not been invited
- the channel is keyed (channel mode +k) and you have not
provided the password
- the channel has a user limit (channel mode +l) and is
full
Why can’t I talk to the channel?
If the channel is moderated (channel mode +m), you will
not be able to send text to the channel unless you have been
‘voiced’ (mode +v).
Also, if you are banned from a channel while on that
channel, you will not be able to talk on that channel any more.
Note that merely setting a ban does not remove anyone from the
channel; that is what the KICK command is for.
Can I change the topic line of the channel?
The TOPIC command may be used to associate a channel with
a topic (typically displayed in conjunction with the
channel), e.g. /TOPIC #mychannel This
channel is all about me. If the channel mode +t is on,
only channel operators may set the topic.
How do I leave a channel?
When you want to leave the channel, issue the PART
command, as in /PART #mychannel.
You can chat privately with another user on the same
server or network, regardless of whether either of you is on
a channel or not.
You will need to know the nickname of the person you want
to chat with. Most IRC users nowadays make
themselves ‘invisible’ by setting user mode +i, so unless you
know what channel the person you are looking for is on, you
may find it very difficult to use IRC server
functionality to find out what his nickname is.
When you have the nickname, do a WHOIS on it
(e.g. /WHOIS MyFriend) just to be
sure; then start talking. On many clients, you would be able
to type e.g. /MSG MyFriend Hi there!
(to simply send the message) or /QUERY MyFriend Hi
there! (to open a dedicated window for chatting with
MyFriend).
By the way, the native IRC command for
sending a message – to a nickname or to a channel – is
PRIVMSG. A related command is NOTICE; the difference between
notices and normal messages is that notices never may be
replied to with an automatic message. The logic behind this
is preventing software components such as IRC
servers from wasting resources on perhaps endless loops of
automatic replies to automatic messages.
On the Internet, I can do anything I want, right?
Wrong.
IRC is supposed to be an enjoyable
experience, so it is a good idea to behave as you would like
for other users to behave towards you. Just log on, join a
channel or two, idle for a moment so you will learn the name of
the game, and then chat as you would in real life; this
should keep you out of trouble.
Remember that different rules apply on different channels
(group chats). Some channels encourage idling, others will
kick you for it; many channels allow only certain languages,
some outlaw anything but plain text, etc.
Unfortunately you may not be able to find out the rules of a
specific channel before you find yourself kicked for breaking
them. However, better late than never; unless you are banned
as well, you can re-join the channel and try not to repeat
whatever behaviour got you kicked.
For some channels, a web page or some other kind of
written information about the channel may be available. The
channel topic may tell you how to retrieve it, or one of the
nicknames (maybe a ‘bot’, an automatic IRC
client) on the channel may send you a welcome message with
information.
Don’ts and why-nots
Do not... |
as... |
type in ALL CAPS |
it is considered shouting |
send the same line of text several times, or hit
Enter after every few words |
the conversation will scroll off the screen
prematurely |
send or accept unsolicited files |
a Trojan may do nasty things
to your computer |
mass-invite strangers to your channel |
it is annoying; you will be ignored, kicked, banned,
killed and/or K-lined |
output junk such as the Microsoft Chat
Appears as lines, the lame Showdown
advertisements or the large trout in mIRC |
nobody likes it; you may be kicked and/or
banned |
pester other users for personal
information such as age, sex or location |
it is an invasion of privacy; use the WHOIS command
instead. Of course, you may introduce yourself if you
want to, and the other person will do the same if he
wants to |
Quitting IRC
How do I log off IRC?
Use the command QUIT, followed by an optional goodbye
message, e.g. /QUIT See you all
tomorrow.
Is someone really trying to kill me?
Sometimes a server may forcibly disconnect you from
IRC, i.e. ‘kill’ your connection.
IRC operators and server administrators can
issue kill messages to get rid of abusive users. Most kills,
however, are automatically generated server kills, due to
nickname collisions or similar network problems.
The kill notice should explain the reason for the kill.
Not nearly all involuntary disconnections are due to
kills. Unless your client shows you a kill message, the
disconnection was probably due to some other reason, such as
flooding, not responding to a PING, or a network problem.