INTERNET RELAY CHAT
A Real-Time Conversational System
Table of Contents
1. IRC - Replacement for Talk
Irc is a functional replacement for and improvement to talk(1). Talk
is an old, primitive, atrocious, minimalist sort of keyboard/screen
conversation tool, using a grotesque, machine-dependent protocol.
Irc does everything talk does, but with a better protocol, allowing
more than 2 users to talk at once, with access across the aggregate
Internet, and providing a whole raft of other useful features.
2. Entering Internet Relay Chat
To enter Internet Relay Chat you need to run a client, which will start
connecting to its default server. The best clients are the clients
conforming to 'ircII' but those are all unix clients. More info on
clients can be achieved from
ftp.undernet.org:/pub/irc/docs/underfaq.1
3. How Much can be seen From Here
The universe - seriously.
This is most formally called Internet Relay Chat. Server hosts are
connected via a tree structure. The various servers relay control and
message data among themselves to advertise the existence of other
servers, users, and the channels and other resources being occupied by
those users.
4. Structure
There is quite a lot of structure to the operation of irc, as
compared to crufty old talk(1). Since so little could be done with
talk(1), it needed little structure. But to keep track of people
spread literally around the world (the system was written by Jarkko
Oikarinen of Finland, usually seen on the system as `Wiz'), the
structure is useful so that one can speak to exactly those people with
whom one wishes to speak.
4.1 Nicknames
All users of irc are known to the system by a `nickname.' By
default, one's nickname is one's login name. Nickname clashes are not
allowed; this is enforced by the servers. If one's intended nickname
clashes with someone else as one enters chat, one will not be able to
complete entry to irc until one changes one's nickname to something
else.
4.2 Presence on a Channel
Fundamental to the operation of irc is the concept of a channel. All
users are `on a channel' while inside irc. One enters the `null
channel' first. One cannot send any messages while not in any
chatting channel unless one has set up a private conversation in some
way. The number of channels is essentially unlimited - whatever will
fit in a string of some ungodly length, that must start with a # sign.
4.3 Main modes of Channels
Public
This is the default mode for a channel. When one is on a public
channel, one can be seen by all other users (if one's own user mode
permits this). Anyone can notice users on a public channel and join
such a channel's conversation.
Private
This means that, although anyone can see that one is using chat, no
one can tell what channel one is using unless one is already on that
channel with oneself. Since the number of potential channels is in
the billions, this is quite some security - all one gives away is the
acknowledgement that one is using chat.
Secret
While one is on a secret channel, no one who is not on one's channel
with oneself can even see that one is there. One's name does not show
up in a list of active users. The only indication of one's presence
is that, when entering chat, all new users are told that there are "N
users on P servers." If one checks on all users and finds less than N
of them, one knows that others are hiding on secret channels. But a
secret channel user still cannot be found except by brute-force
checking through all channels, a hopeless proposition in the face of
the huge number of possible channel names. Security through obscurity
finally means something. Of course, making a channel like '#test' secret
gives a huge change to be discovered anyway.
Changing the Mode
The mode of a channel (private, secret, invite-only, moderated,
topic-limited, person-number-limited, no-messages-to-channel, ban
someone from channel) is set by the channel operator, who is the
first person to join a channel, or someone who has had channel
operatorship bestowed on them by another channel operator.
4.4 Conversations not Using Channels
It is possible to conduct conversations with others without using the
formalized channel structure. Doing so requires that two people set
themselves up for private conversation using special commands; see
User Commands below.
5. Getting Help
Type "/help." Follow the instructions. Since this is a client feature
it might now work for you, in which case you'd have to consult your
local irc guru or someone on the net.
5.1 User Commands
In most clients, commands must start with a '/' (for example: /join #test).
The most important commands supported by irc are:
5.1.1 /QUIT [comment]
/quit exits chat. Optional comment may be included; see above.
5.1.2 /WHO [#channelname_mask | user@host.mask]
/who returns information on who is using chat. /who without arguments
prints info on all users that can be seen. Users of public channels
show up with their channel identified. Users of private channels
appear, but they are specified as being on a private, unspecified
channel. Users of secret channels and users whose user mode is +i
(invisible) do not appear at all.
Giving a channel name as an argument to /who returns only those users of the
specified channel. This still doesn't show users of secret channel or
invisible users one is actually on the same channel with them. Users
of private channels are shown, if an exact channel name is given.
5.1.3 /WHOIS {nickname}
This returns information about individual users. Type "/whois nickname"
to get information on the login name and host from which the nicknamed
user comes.
5.1.4 /TOPIC {some topic string}
Channels can be given off-the-cuff "topics." Saying "/topic some
string of text" will associate that topic with the current channel.
5.1.5 /LIST [#channel.mask]
/list will give lists of active channels, the number of users of each,
and the topics therewith associated. Again, secret channels do not
appear and private channels only appear as Prv.
5.1.6 /JOIN {channel}
/join <#channel_name> is the means to enter a channel. Give the channel
name as an argument. If this is a secret or hidden channel, /who
commands will show oneself and any other users of one's channel.
One's arrival on a channel is announced to the rest of the users
already on that channel. Silent, anonymous "lurking" is not
supported.
5.1.7 /MSG {nick} {some text string}
A single message can be sent privately to a certain user with /msg.
Type /msg nickname and the text to be sent. It will be sent privately
to the indicated nickname.
5.1.8 /INVITE {#channel} {nick}
If there is a user online to whom one wishes to speak, one may invite
that user to join oneself on a certain channel. One types "/invite
nickname" with an optional channel name. The receiving user gets a
one-line message indicating the sender and the invitation. The
receiving user is free to ignore the invitation, of course.
5.1.9 /IGNORE {nick!user@host.mask}
If one wants to ignore messages sent by some other user or users, it
may be done with /ignore command. One can ignore someone by their
nickname, or by their user@host data. Wildcards may be used. /ignore
is only intended to ignore annoying public messages (messages sent to
a channel), to stop flooding (a huge number of messages per second)
you have to use banning for channel messages, and /silence for private
messages.
5.1.12 /SILENCE [nick!user@host.mask]
This command effectively stops private message flooding at the server
of the flooder. You can use "/silence nick" to get a list of the
silence masks of 'nick'. This command is undernet specific and therefor
not supported by all clients unless you add specifically a line to your
clients configuration file.
5.1.11 /NICK {new_nick}
One can change nicknames by issuing "/nick new-nickname." All users
on one's channel will be informed about the change. NOTE: If one enters
chat with a nickname clash (e.g., one's login name is the same as
someone else's, and the other user got there first), the system will
not let one enter until one issues a /nick command with a unique
nickname.
5.1.12 /MODE #channel {lots of parameters}
This command can be used for altering the various modes of a channel
(see the explanation of channel modes above). /mode command can only
be issued by channel operators. Please use /help, or the manual of
your client to find out about this command.
6. Questions, Problems, Troubles?
If you have problems, please contact get and read the FAQs from
ftp.undernet.org:/pub/irc/docs/underfaq.1 and
underfaq.2. You can also ask for help on some of the operator channels
on irc, for example #wasteland.
They will be able to assist you in whatever problems you are having with
IRC.
help quit who whois
list topic join part
links msg invite silence
names stats nick away
info clear query ignore
mode
This page was created by David Rientjes (David-R),
david-r@whidbey.net. Comments
are welcomed.
Last modified: March 18, 1997