home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
MISC
/
irc_primer.lzh
/
irc.primer
Wrap
Text File
|
1995-06-01
|
58KB
|
1,544 lines
A short IRC primer
====================
Written by:
Nicholas Pioch, (Nap on IRC)
< pioch@poly.polytechnique.fr > < pioch@grasp1.univ-lyon1.fr >
Edition 1.01, August 22, 1992.
Abstract
~~~~~~~~
Have you ever wanted to talk with other computer users in other parts
of the world? Well guess what... You can! The program is called IRC,
(Internet Relay Chat), and it is networked much over North America,
Europe, and Asia. This program is a substitution for 'talk', and many
other multiple talk programs you might have read about. When you are
talking on IRC, everything you type will be instantly be transmitted
around the world to other users that might be watching their terminals at
the time, they can then type something and respond to your messages, and
vice versa. I should warn you that the program can be very addictive
once you begin to make friends and contacts on IRC, especially when you
learn how to discuss in 14 languages...
Topics of discussion on IRC are varied, just like the topics of Usenet
newsgroups are varied. Technical and political discussions are popular,
especially when world events are in progress. IRC is also a way to
expand your horizons, as people from many countries and cultures are on,
24 hours a day. Most conversations are in English, but there are always
channels in German, Japanese, French, Finnish, and occasionally other
languages.
IRC gained international fame during the late Persian Gulf War, when
updates from around the world came across the wire, and most people on
IRC gathered on a single channel to hear these reports.
CONTENTS
~~~~~~~~~~
1. Getting started
1.1 Clients and Servers
1.2 How to behave on IRC
1.3 First Steps
1.4 Screen and Keyboard activity
2. Let's go!
2.1 General Commands
2.2 Communication and Private Conversations
2.3 Public Conversations, Channels, and Channel Modes
2.4 Network Related Commands
2.5 Quick Reference Panel
2.6 Further into ircII Wizardry
2.7 Sample .ircrc
3. Frequently Asked Questions
3.1 How do I use a client?
3.2 Where can I get source for an IRC client?
3.3 Which server do I connect to?
3.4 What are good channels to try while using IRC?
3.5 What if someone tells me to type something cryptic?
3.6 I get strange characters on my screen, what are they?
3.7 What about NickServ?
3.8 How do I send a file to someone over IRC?
3.9 I'm being flooded or harassed by a jerk. Help!
3.10 How do I get rid of a ghosted IRC session?
3.11 Where can I find more?
1. GETTING STARTED
==================
1.1 Clients and Servers
~~~~~~~~~~~~~~~~~~~~~~~~
IRC, (original code was written by Jarkko Oikarinen), is a multi-user,
multi-channel chatting network. It allows people all over the internet
to talk to one another in real-time. It is a functional replacement and
improvement to 'talk'; 'talk' is an old primitive, atrocious, minimalist
sort of keyboard/screen conversation tool, using a grotesque, machine-
dependent protocol (blah!). IRC does everything 'talk' does, but with
better protocol, allowing more than 2 users to talk at onc, with access
across the aggregate Internet, and providing a whole raft of other useful
features.
There are two ways to enter IRC. If you are using the emacs, (editor
from Richard Stallman and the Free Software Foundation), lisp client, you
need to load the client into your emacs session and then "M-x irc". If
you are using the C client, (easier for beginners), then you usually type
"irc". If you wish to be known by a nickname which is not your login
name, type "irc nickname" instead. Each IRC user, ("client"), chooses a
nickname. All communication with another user is either by nickname or
by the channel that they are on. (More about channels later on).
The most important thing to remember about IRC is that you have to be
willing to explore and learn to use it... Take you time, try not to get
flustered, and enjoy yourself, and you will soon be making new friends
all over the world!
IRC is based on a client-server model. Clients are programs that
connect to a server, a server is a program that transports data,
(messages), from a user client to another. There are clients running on
many different systems, (Unix, emacs, VMS, MsDos, VM...), that allow you
to connect to an IRC server. The client which will be spoken of here is
the most widespread: ircII, (originally designed by Michael Sandrof).
1.2 How to behave on IRC
~~~~~~~~~~~~~~~~~~~~~~~~~
The most widely understood and spoken language on IRC is English.
However, as IRC is used in many different countries, English is by no
means the only language. If you want to speak some other language than
English, (for example with your friends), go to a separate channel and
set the topic to indicate that. On the other hand, you should check the
topic before you move to channel to see if there are any restrictions
about language. On a non-restricted channel, please speak a language
everybody can understand. If you want otherwise, change channels and set
the topic accordingly.
It's not necessary to greet everybody on a channel personally.
Usually one "Hello!" or eqivalent is enough. And don't expect everybody
to greet you back... On a channel with 20 people that would mean one
screenful of hellos. It's sensible not to greet, in order not to be rude
to the rest of the channel. If you must say hello to somebody you know,
do it with a private message. The same applies to goodbyes.
Also note that using ircII's /ON facility to automatically say hello
or goodbye is extremely poor etiquette. Nobody wants to receive
autogreets. They are not only obviously automatic, but even if you think
you are polite you are actually sounding insincere and also interfering
with the personal environment of the recipient when using autogreets. If
somebody wants to be autogreeted on joining a channel, he will autogreet
himself.
Remember, people on IRC form their opinions about you only by your
actions, writings and comments, so think before you type. Do not "dump"
to a channel or user, (send large amounts of unwanted information). This
is likely to get you killed off from IRC. Dumping causes network
"burps", connections going down because servers cannot handle the large
amount of traffic anymore. Other prohibited actions include:
* Using offensive words in channel topics.
* Harassing another user. Harassment is defined as behaviour
towards another user with the purpose of annoying them.
* Annoying anothe user or a channel with constant beeping.
* Any behaviour reducing the functionality of IRC.
1.3 First Steps
~~~~~~~~~~~~~~~~
Note: ircII, the client most people are using, has most of this
information on-line. If you are stuck, type /HELP and hit return. To
escape from /HELP mode, keep pressing <return> until your edit line, (the
line at the bottom of the screen), is empty. Most of the information in
this file can be found typing these commands: "/HELP INTRO" or "/HELP
NEWUSER".
All ircII commands begin with a "/" character.
The slash is the default command character. Commands are not case
sensitive, and can be abbreviated to their first letters: "/SI" or
"/sign <text>" stand for /SIGNOFF and will both end your IRC session,
(more in section 2.1).
Anything that does not begin with "/" is assumed to be a message to
someone and sent to your current channel, or to a person you are
QUERYing, (the /QUERY command will be detailed later on...).
If you are not sure about the spelling of an ircII command, type the
prefix of that command, and press the ESCape key twice; ircII will give
you a listing of commands and aliases that start with the prefix. Don't
forget the "/" in front of the command though.
/W <ESC><ESC>
*** Commands:
*** WAIT WALL WALLOPS WHILE
*** WHO WHOIS WHOWAS WINDOW
*** Aliases:
*** W
This is an example. Your screen may show more aliases, and less commands
than shown here, or less aliases and more commands - in other words "your
mileage may vary"...
1.4 Screen and Keyboard activity
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IRC is a full-screen utility. It takes over the screen, with the bulk
of activity happening in the top (N-2) lines, a status line, (vaguely
emacs-like), on the second to last line, and your input being entered on
the last line.
When typing commands at ircII, you have a minimalist line-editing
facility in an emacs style. That is, ^A (Ctrl-A) moves the cursor to the
beginning of the line, ^E goes to the end, ^D deletes the character under
the cursor, ^K kills from the cursor to the end, and so on.
the /! command is used to recall a previous command in your command
history for re-execution. The /! command is unique in that when it is
used, it leaves the matching history entry in the input line for
re-editing. You can specify a history entry either by its number in the
history list, or by a match with a given wildcard expression. For
instance, "/!10" will put entry 10 in the history list into the the input
line. "/!/MSG" will search the history for a line beginning with a /MSG,
(a "*" is implied at the end). The command history can be dumped using:
/HISTORY [<number>]
Displays the command history to the screen. You can specify the number
of history entries you wish to view as well.
Almost everything happens in the upper bulk of the screen. This
includes both messages from other users, as well as the output of the
control commands. Normal messages from other users appear with the
originating nickname in <angle brackets>. Private messages arrive with
the originating nickname in *asterisks*. Messages you send to everyone
appear with a preceding "> " whereas messages you send privately to
another user appear with "-> *nickname*". Other output, (invitations
from other users to join channels, and so forth), appears interspersed
with other activity on the screen. Last ircII outputs can be recalled
with:
/LASTLOG [<number of entries>|<text>] [<from entry>]
Displays the contents of the lastlog. This is a list of the most
recent messages that have appeared on the screen, ueful if you in
advertantly miss messages. If no arguments are given, the entire lastlog
is displayed. If the first argument is a number, it determines how many
log entries to show. Otherwise it is searched for in every lastlog
entry. The second argument determines how many lines back to start
display from.
Example:
/LASTLOG
> Public message I send to all in the channel
<some1else> Public message from some1else
*some1else* Private message sent to me by some1else
-> *some1else* Private message I send to some1else
Finally, if your screen gets garbage from a 'talk', 'write', 'wall' or
any other form of primitive communication (smirk), hit ^L to redraw it,
or /CLEAR it.
/CLEAR
Clears the screen.
2. LET'S GO!
============
2.1 General Commands
~~~~~~~~~~~~~~~~~~~~~~
/LIST
Lists all current "channels", number of users, and topic. The
displayed list may be quite long, so you can limit it using flags.
"/LIST -MIN n" for instance removes channels with less than 'n' users of
the output.
Example:
/LIST -MIN 5
*** #aussies 5
*** #amiga 5 Daily Amiga Silence...join&enjoy
*** #hottub 21 Imagine sky, high above...
*** #tuebingen 11 Happy Borthday CHUCK!!!
*** #Christian 6 Jesus!
*** #Twilight_ 15 The Oper Bar & Grill
*** #initgame 5 More players needed!!!!!!!!!!!!
*** #Taiwan 8 Welcome good friends.
*** #espanol 6 EMERGENCIA SE Necesitan Mujeres!
*** #sherwood 7
*** #francais 6 on apprend le japonais (japanese welcome)
/NAMES
Shows the nicknames of all users on each "channel".
/NAMES -MIN 5
Pub: #twilight> Mycroft @sojge scorpio @Troy @Avalon @Nap phone
Merlinus Lumberjak @tzoper
Pub: #espanol Cacique Bonjovi leopardo Carina Miguel Cisco r2
Pub: #amiga @gio @Radix @xterm @mama @AmiBot
Pub: #aussies @Bleve @GrayElf @Insomniac @Morkeleb @titus
Pub: #hottub baby @Aldur KnightOrc @Toasty Gwydion @Belkira
@Aiken Edge @Spockobot @Nada @ZBot @Aurik @anna @RedBaron
@Katzen @esashi IceWolf @Eniigma @Digger @TheHeck
/NICK [<nickname>]
Changes your nickname to whatever you like.
Everyone who wants to talk to you sees this name - also, at the
moment, nicknames are limited to 9 characters max. Your nickname will be
the same as your login name by default. You can also set an environment
variable, IRCNICK, the value of which will be used instead. Nickname
clashes are not allowed; this is enforced by the servers. If your
intended nickname clashes with someone else's as you enter IRC, you will
not be able to enter until you change it to something else.
/NICK Nappy
*** Nap is now known as Nappy
/QUIT [<reason>]
Exits your IRC session. You can also use /BYE, /SIGNOFF and /EXIT.
If a reason is supplied, it is displayed to other people on your
channels.
/QUIT Lunch Time!
poly ~ >
/HELP [<command>]
Shows help on the given command.
/HELP HELP
Usage: HELP [command]
Shows help on the given command. The help documentation is set
up in a hierarchial fashion. That means that certain help
topics have sub-topics under them.
/WHOIS [<nickname>]
Shows information about someone.
/WHOIS Nap
*** Nap is pioch@poly.polytechnique.fr (Klein bottle for sale...
inquire within.)
*** on channels: @#Twilight_Zone @#EU-Opers
*** on via server poly.polytechnique.fr (Ecole Polytechnique,
Paris, FRANCE ! )
*** Nap has a connection to the twilight zone (is an IRC operator)
*** Nap has been idle 0 seconds
/WHOIS Nappy
*** Nappy: No such nickname
Sometimes /WHOIS won't help you much, because the person you want to
know more about just left IRC or changed nick. However, you can use
/WHOWAS to get this information for a while:
/WHOWAS [<nickname>]
Shows information about who used the given nickname last, even if no
one is currently using it.
/WHOWAS Nappy
*** Nappy was pioch@poly.polytechnique.fr (Artistic ventures
highlighted. Rob a museum.) on channel *private*
*** on irc via server poly.polytechnique.fr (Signoff: Mon Jun 22
20:15:23)
Very often, an unsuccess call to /WHOIS will lead you to try /WHOWAS.
That's why ircII allows you to "/SET AUTO_WHOWAS ON"; that way, a "***
<nickname>: No such nickname" message will automatically generate a
"/WHOWAS <nickname>". Try typing "/HELP SET AUTO_WHOWAS" for more
information on this topic.
/AWAY [<away message>]
Leave a message explaining that you are not currently paying attention
to IRC. Whenever someone sends you a /MSG or does a /WHOIS on you, they
automatically see whatever message you set. Using /AWAY with no
parameters marks you as no longer being away.
/AWAY Gone to get a cup of coffee.
*** You have been marked as being away
/AWAY
*** You are no longer marked as being away
2.2 Communication and Private Conversation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can use the /MSG command, (usually /M is an alias for it), to send
someone a message that only that person can read.
/MSG <nickname>|<channel> <text>
Send a private message to specified nickname.
/MSG Nap This message is for Nap only.
-> *Nap* This message is for Nap only.
On my screen will appear:
*YourNick* This message is for Nap only.
Two special case nicknames are defined. If the nickname is "," (a
comma), the message is sent to the last person who sent you a /MSG. If
the nickname is "." (a period), the message is sent to the last person to
whom you sent a message.
You can have a private conversation by only using /MSG. However,
typing "/MSG <nick> <text>" or "/MSG . <text>" gets cumbersome. That's
where the /QUERY command comes in handy.
/QUERY [<nickname>|<channel>]
Starts a private conversation with <nickname>.
/QUERY Nap
*** Starting conversation with Nap
Blahblahblah
-> *Nap* Blahblahblah
/QUERY
*** Ending conversation with Nap
There is also another command to send messages, called /NOTICE.
Unlike MSGs, NOTICEs are surrounded by '-' when printed, and no automated
responses, (such as generated by /IGNORE or an automation), will be sent
in reply. Services, (robots), on IRC often use this form of interaction.
/NOTICE <nickname>|<channel> <text>
Sends a private message to specified <nickname>.
/NOTICE Nap Better use /MSG instead of /NOTICE.
-> -Nap- Better use /MSG instead of /NOTICE.
On my screen will appear:
-YourNick- Better use /MSG instead of /NOTICE.
As you begin to make new friends over IRC, you'll want to mark certain
nicknames such that you will be warned when they signon or off.
/NOTIFY [-]<nickname>
Adds or removes <nickname> to the list of people you'll be warned when
they enter or quit IRC.
/NOTIFY Nap Nappy
*** Signon by Nap detected
/NOTIFY
*** Currently present: Nap
*** Currently absent: Nappy
Eventually, you may wish some day not to see messages from a specific
user on your screen. This may happen when someone is dumping large
amounts of garbage, or if someone is harassing you. The proper response
to such a behaviour is to /IGNORE that person.
/IGNORE <nickname>|<user@host> [-]<message type>
Suppresses output from the given people from your screen. /IGNORE can
be set by nickname or by specifying a userid@hostname format. Wildcards
may be used in all formats. Output that can be ignored includes MSGs,
NOTICEs, PUBLIC messages, INVITEs, ALL or NONE. Preceding a type with a
"-" indicates removal of ignoring of that type of message.
/IGNORE *@cheshire.oxy.edu ALL
*** Ignoring ALL messages from *@cheshire.oxy.edu
/IGNORE
*** Ignorance list:
*** *@CHESHIRE.OXY.EDU ALL
/IGNORE *@cheshire.oxy.edu NONE
*** *@cheshire.oxy.edu removed from ignorance list
2.3 Public Conversations, Channels and Channel Modes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Most of the information in this file can also be obtained by issuing
"/HELP CHANNEL" or "/HELP MODE".
On IRC, there are a lot of places where you can "hang out"; those
places are called 'channels'. You can compare conversations on a channel
to a conversation among a group of people: you see/hear everything that
is said, and you can reply to anything that's said. What you type is
received by everyone who's willing to listen - and everyone who is late
will not hear what is said before, unless repeated by one of the ones who
were there. (Who said "real life"?)
All channels on IRC have names: a "#" sign followed by some kind of
text-string, like "#C++" or "#Asians" or "#EU-Opers". Usually, the name
of the channel will indicate the type of conversation that's going on in
there. Don't count on it tough.
Every channel has certain characteristics, called channel modes.
These will also be explained below. Recall the /NAMES and /LIST
commands; they will show you the names of the existing channels. To join
a certain channel you may use the /JOIN command.
/JOIN [<channel>]
Sets your current channel to the supplied channel.
/JOIN #Twilight_Zone
*** Nap has joined channel #Twilight_Zone
*** Topic: The Gernsback Continuum
*** Users on #Twilight_Zone: Nap msa tober phone @julia @SirLance
igh @Daemon @Avalon @Waftam @Trillian @tzoper
The /CHANNEL command has the same effects. Note that if no parameters
are given, your current channel is displayed.
Upon entering a channel, you are given useful details about it: list
of users talking in that channel, topic... Joining a channel does not
cause you to leave your previous channel unless NOVICE is set to ON. See
"HELP SET NOVICE".
Once in a channel, you may wish to get a detailed list of the people
IRCing inside. That's where the /WHO command comes in handy:
/WHO [<channel>|<wildcard expression>]
Gives a list of users. "/WHO *" for the list of users in your current
channel.
/WHO #Twilight_Zone
Channel Nickname S User@Host (Name)
#Twilight_ Nap H* pioch@poly.polytechnique.fr
(Quidquid latine dictum sit, altum viditur)
#Twilight_ msa H msa@tel1.tel.vtt.fi (Markku Savela)
#Twilight_ tober H ircuser@kragar.eff.org (tober)
#Twilight_ phone H mrgreen@munagin.ee.mu.OZ.AU (Third
row seats to the Cure? WHO ME? nah.. *grin*)
#Twilight_ julia G*@ julie@turing.acs.Virginia.EDU
( Future graduate of ACME Looniversity)
#Twilight_ SirLance G*@ lancelot@tdsb-s.mais.hydro.qc.ca
(Sir Lancelot)
#Twilight_ igh G igh@micom1.servers.unsw.EDU.AU (igh)
#Twilight_ Daemon G*@ frechett@spot.Colorado.EDU
(-=Runaway Daemon=-)
#Twilight_ Avalon H*@ avalon@coombs.anu.edu.au (Avalon...)
#Twilight_ Waftam G*@ danielce@munagin.ee.mu.OZ.AU (Daniel
Carosone)
#Twilight_ Trillian G*@ hrose@rocza.eff.org ( I turn to
stone when you are gone )
#Twilight_ tzoper H*@ tzoper@azure.acsu.buffalo.edu (/msg
tzoper help)
The first field is the current channel, then nickname, status, real
name (in internet user@host form), and a small witty comment you can set
yourself with the environment variable IRCNAME, (this will be detailed in
section 2.6). Status indicates if a user is "H"ere or "G"one, (see
/AWAY), if IRCop ("*"), or chanop ("@").
It is also possible, when you are already on a channel, to ask someone
to join your channel. The command is called /INVITE.
/INVITE <nickname> [<channel>]
Invites another user to a channel. If no channel is specified, your
current chanel is used.
/INVITE Nap
*** Inviting Nap to channel #Twilight_Zone
If you receive an /INVITE message, you can type "/JOIN -INVITE" to
join the channel to which you were last invited, or simply /JOIN
<channel>.
To leave a channel, just issue a /LEAVE command, (/PART has the same
effects):
/LEAVE <channel>
Leave a channel.
/LEAVE #Twilight_Zone
*** Nap has left #Twilight_Zone
Well, you guessed it, if there is a way to invite someone on a
channel, there's also the possibility to /KICK someone out of it, for
example if this person is behaving like a jerk, annoying people or
flooding the channel with unwanted information:
/KICK [<channel>] <nickname>
Kicks named user off a given channel. Only 'channel operators' are
privileged to use this command.
/KICK #Twilight_Zone Target
*** Target has been kicked off channel #Twilight_Zone by Nap
Channels have topics, that indicate the current topic of conversation.
You can change this topic on a channel with the /TOPIC command.
/TOPIC [<channel>] [<topic for channel>]
Changes the topic for the channel.
/TOPIC The silent channel.
*** Nap has changed the topic on channel #EU-Opers to The silent
channel.
Channels can have additional restraints, which can be set by the /MODE
command. To understand this, recall that the first person that to /JOIN
a channel effectively creates it and is initially "in charge" of the
channel, (Channel Operator' or 'chanop'). He can subsequently add those
constraints, make other people chanops at leisure.
Public is the default mode for a channel. When someone is on a public
channel, he can be seen by all other user, (if his own user mode permits
this). Anyone can notice users on a public channel and join such a
conversation.
Private means that, although anyone can see members of such a channel,
you can't tell what channel they are on unless you are already on that
channel with them. They just appear as "Prv: *" in /LIST or /NAMES.
Since the number of potential channels is in the billions, this is quite
some security - all you give away is the acknowledgement that you're
IRCing.
If you are on a secret channel, someone who is not on the same channel
can't even see that you are there. Your name does not show up in a list
of active users, (/NAMES). The only indication of your presence is that,
when entering IRC, all new users are told that there are "NNN users on
XXX servers". If someone checks on all users and finds less than NNN of
them, he knows that other people 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.
/MODE [<channel>|<nickname>] +/-modechars [<parameters>]
Allows channel operators to change channel mode, or any user to change
their personal mode, (don't use this command too often, it floods the net
with worthless information).
/MODE #Twilight_Zone +m
*** Mode change "+m" on channel #Twilight_Zone by Nap
/MODE Nap -i
*** Mode change "-i" for user Nap by poly.polytechnique.fr
And this is how to give 'chanop' status to someone on the channel
/MODE #Twilight_Zone +o sojge
*** Mode change "+o sojge" on channel #Twilight_Zone by Nap
A + or - sign determines whether the mode should be added or deleted.
Try typing "/HELP MODE" to get further information. Channels can be
moderated (only chanops can talk), secret, private, with a limited number
of users, anonymous, invite-only, topic-limited, with a list of banned
users...
ModeChar Effects on channels
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
b <person> ban somebody, <person> in "nick!user@host" form
i channel is invite-only
l <number> channel is limited, <number> users allowed max
m channel is moderated, (only chanops can talk)
n external /MSGs to channel are not allowed
o <nick> makes <nick> a channel operator
p channel is private
s channel is secret
t topic limited, only chanops may change it
ModeChar Effects on nicknames
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
i makes yourself invisible to anybody that does
not know the exact spelling of your nickname
o IRC-operator status, can only be set
by IRC-ops with /OPER
s receive server notices
w receive wallops, (abused and deprecated
Note that usermode "+i" may be the default on some servers, in order
to protect the privacy of users. You can check your usermode with the
command "/MODE <YourNick>" or sometimes "/UMODE". This should not be
seen as a problem, since any user can change his personal mode whatever
defaults a server may set.
At times, you may want to send a description of what you are doing or
how you are feeling or just anything concerning you. to the channel or
query. It is absolutely good style to not forget the period at the end
of a sentence!
/ME <action description>
Tells the channel or query about what you are doing.
/ME opens up the fridge.
*** Action: Nap opens up the fridge.
You can also use your own nickname as command, i.e. you can type
the line with a leading slash:
/Nap reaches out for the orange juice.
*** Action: Nap reaches out for the orange juice.
The same goal can be acheived towards a specific nickname using:
/DESCRIBE <nickname>|<channel> <action description>
Sends anything concerning you to the <nickname> or <channel> you pass
as first argument.
These commands make use of CTCP, a client-to-client protocol crafted
to perform specific action, but not understood by all clients. If you
get an error-message, your description may not have arrived properly.
/CTCP <nickname> <command> [<argument>]
Allows you to perform certain client specific actions on the network.
/CTCP Nap VERSION
*** CTCP VERSION reply from Nap: ircII 2.2pre7 *IX :ircII2.2pre7,
the one true client.
This can be used to get information about what how long a person
has been idle:
/CTCP Nap FINGER
*** CTCP FINGER reply from Nap: PIOCH Nicholas - Nap on IRC, X90,
(pioch@poly.polytechnique.fr) Idle 0 seconds
There are many other CTCP commands, and new ones are introduced all
the time. There is a mechanism for you to find out what you can use:
/CTCP CLIENTINFO. To find out about your own client services, execute a
CLIENTINFO on yourself.
/CTCP Nap CLIENTINFO
*** CTCP CLIENTINFO reply from Nap: SED VERSION CLIENTINFO
USERINFO ERRMSG FINGER ACTION DCC UTC :Use CLIENTINFO <COMMAND>
to get more specific information
If you are interested in this powerful CTCP mechanism, have a look in
the various ircII help files. "/HELP CTCP" might tell you more...
2.4 Network Related Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you encounter any problem, contact your local IRC-Administrator or
an IRC-Operator. An IRC-Admin is a person who has access to all files
concerning 'ircd' (the server program). An IRC-Operator is a person who
has privileges given to him by an IRC-Admin and tries to maintain a fast
reliable IRC network. Information on how you can find out who he/she is,
can be found below.
Each time you are prompted for a server name, remember you can supply
the nickname of someone being connected on that server instead. This may
be useful at times...
/ADMIN [<server>]
Displays the administrative details about the given server. If no
server is supplied, the server you are connected to is used.
/ADMIN
### Administrative info about poly.polytechnique.fr
### Ecole Polytechnique, Palaiseau, FRANCE
### IRC-Administrator Nicholas Pioch (Nap@IRC)
### <pioch@poly.polytechnique.fr>
/LINKS [<server>] [<wildcard expression>]
Shows a list of servers currently connected to the IRC network. If
<wildcard expression> is given, /LINKS asks the given <server> for a list
of servers matching the given expression.
/LINKS *po*
*** nova.unix.portal.com 7 Cupertino California, USA
*** poe.acc.Virginia.EDU 6 University of Virginia 2.7.1f
*** polaris.utu.fi 9 University of Turku, Finland
*** polaris.ctr.columbia.edu 6 Columbia University, New York City
*** von-neumann.info.polymtl.ca 8 Montreal Polyserver (Canada)
*** csd.postech.ac.kr 4 POSTECH Computer Science Dept.
*** cdc853.cdc.polimi.it 2 Polytechnic of Milan, Italy
*** poly.polytechnique.fr 0 Ecole Polytechnique, Paris, FRANCE
/SERVER [<server>|<servernumber>] [<port number>]
Switches your primary server to the supplied <server> at the specified
<port number>. If no port number is given, the default port number is
used, (normally 6667).
/SERVER poly.polytechnique.fr 6667
*** Connecting to port 6667 of server poly.polytechnique.fr
*** Welcome to the Internet Relay Network, Nap
*** Your host is poly.polytechnique.fr, running version 2.7.2g.ID
*** This server was created Sun Aug 22 1992 at 01:24:31 MET DST
Occasionally, you can switch serves faster than the IRC network can
send out the information that you have left your previous server. So
Don't be surprised if you are told your nickname is already in use...
Just wait a moment and set it with /NICK again.
/MOTD [<server>]
Gives the Message-Of-The-Day for the named server. If no server is
given, your server is used.
/MOTD
MOTD - poly.polytechnique.fr message of the day -
MOTD - _____________________________________
MOTD - /\ \
MOTD - \_| Bienvenue sur le serveur |
MOTD - | Internet Relay Chat |
MOTD - | de l'Ecole Polytechnique, FRANCE |
MOTD - | _________________________________|__
MOTD - \_/___________________________________/
MOTD -
MOTD - | | | En cas de probleme,
MOTD - )_) )_) )_) tapez / admin
MOTD - )___))___))___)\
MOTD - )____)____)_____)\\ Nicolas PIOCH
MOTD - _____|____|____|____\\\__ Nap sur IRC
MOTD - --\ Welcome on IRC ! /---------
MOTD - ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^
* End of /MOTD command
/USERS [<server>]
Shows the users logged into the machine where the server is running,
(it's up to the server administrator to implement this feature or not.
It may not work on some machines).
/USERS
*** UserID Terminal Host
*** pioch ttyp9 rotule.polytechn
*** pioch ttypc rotule.polytechn
*** pioch ttyq0 rotule.polytechn
*** pioch ttyq1 rotule.polytechn
/DATE [<server>]
/TIME [<server>]
Shows the current time of day and date. If a server is specified, the
time of day and date are reported from that server. /DATE and /TIME are
identical.
/DATE
*** poly.polytechnique.fr Saturday June 20 1992 -- 02: 35 +01:00
/LUSERS
Gives a brief listing of the number of users, the number of servers
and the number of operators.
/LUSERS
*** There are 539 users and 115 invisible on 142 servers
*** 62 users have connection to the twilight zone
*** There are 231 channels
*** I have 10 clients and 3 servers
/INFO
Shows information about the IRC creators, debuggers, slaves and a lot
of other people who no longer have much to do with IRC.
/VERSION
Shows the ircII version number and the version number of the server.
/VERSION
*** Client: ircII 2.2pre7
*** Server poly.polytechnique.fr: ircd 2.7.2g.ID
2.5 Quick Reference Panel
~~~~~~~~~~~~~~~~~~~~~~~~~
Keyword Action
------- ------
ADMIN displays information about a server
AWAY leaves a message saying you're not paying attention
BYE exits your IRC session (See /QUIT)
CHANNEL sets your current channel
CLEAR puts some white space on your screen
CTCP performs certain client specific actions
DATE shows server current date and time
DCC handles direct connections to remote clients
DESCRIBE sends anything about you toa person or channel
EXIT exits your IRC session (See /QUIT)
HELP prints help on the given command
HISTORY displays the command history
IGNORE removes output fromspecific people off your screen
INFO shows useless information about IRC
INVITE sends an invitation to another user
JOIN sets your current channel
KICK gets rid of someone on a channel
LASTLOG lists the most recent messages
LEAVE leaves a channel
LINKS shows servers on the IRC network
LIST lists channels, number of users, topic
LUSERS gives a brief listing of users, servers and operators
ME sends anything about you to a channel or QUERY
MODE changes channel mode
MOTD diplays the server message-of-the-day
MSG sends a private message
NAMES shows the nicknames of users on each channel
NICK changes your nickname
NOTICE sends a private message
NOTIFY warns you of people logging in or out IRC
PART leaves a channel (See /LEAVE)
QUERY starts a private conversation
QUIT exits your IRC session
SERVER switches your primary server
SIGNOFF exits your IRC session (See /QUIT)
TIME shows server current date and time
TOPIC changes the topic of the channel
USERS prints users logged on the server machine
VERSION shows client and server version number
WHOIS displays information about someone
WHOWAS displays information about someone who just left
2.6 Further into ircII Wizardry
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note: This part should be reserved for experienced IRC'ers.
Because ircII is not a simple client program, but an Operating System,
its programming language is just as simple as you could expect (it's
horrendous), but if you want to get into it, here's a little note for
you...
There are a few Unix environment variables you can set in your shell
configuration file: 'VARNAME="value"; export VARNAME' for Bourne shells,
(sh, sh5, ksh, bash); 'setenv VARNAME "value"' for C shells, (csh, tcsh).
They are:
Name Effects
~~~~ ~~~~~~~
HOME where your home directory is
IRCNAME any lunacy you want instead of your real name
IRCNICK your default IRC nickname
IRCPATH a directory path to LOAD scripts
IRCRC a file to use instead of your $HOME/.ircrc
IRCSERVER a default server list for ircII
TERM your terminal type
The command character, (usually "/"), is only necessary when you type
commands interactively, when you program things it is no more needed, it
used to be though. If you want to type to the channel from within an
ALIAS or on BINDing, you have to use SAY or SEND.
The ";" has a special meaning in ALIASes, BINDings and ONs: it's
treated as command separator, that means you can execute multiple
commands in a row separated by semicolons. The semicolons are not
considered separators when you use them interactively, (to be able to
type ";-)"), and within an ircII script file. You can escape the meaning
of ";" in an ALIAS with "\;".
When you use ircII on a (semi)regular basis, you will discover that
every time you start the program you will issue the same initialisation
sequence. If that is the case, I have good news for you: you don't have
to do that anymore! ircII will, at startup, load a file called ".ircrc",
(full path: $HOME/.ircrc). It will treat each line in that file as if
you typed it manually.
For example, if the content of your .ircrc file is:
JOIN #Twilight_Zone
then each time you will start IRC, you will join this channel.
Advanced commands may come in handy if you need them. Feel free to
browse in ircII on-line help to find out more about them. A few of them
are probably worth learning...
Keyword Action
~~~~~~~ ~~~~~~
# same as COMMENT except for the lenght
ALIAS creates command aliases
ASSIGN creates user variables (expandable with $)
BIND binds a keystroke sequence to a function
CD changes ircII working directory
COMMENT does nothing, but very useful. Strange, uh?
ECHO displays all of its arguments
EXEC allows you to start subprocesses
FLUSH flushes all pending output from the server
IF standard boolean expression checker
LOAD loads an ircII command script file
ON sets up actions to occur when certain events happen
REDIRECT forwards the output from a command
SAVE saves all ircII settings into a file
SAY same as sending text to a nickname or channel
SEND same as sending text to a nickname or channel
SET sets a variable to a given value
SLEEP suspends ircII for a few seconds
TYPE simulates keyboard strokes
WAIT waits for all server output to finish
WHILE another control command to make loops
WINDOW lets you manipulate multiple "windows" in ircII
XECHO like ECHO, but takes flag arguments
2.7 Sample .ircrc
~~~~~~~~~~~~~~~~~
As a sample, here's part of my .ircrc file:
# -------------------------------------------------------------------
# IRCII sample configuration file (~/.ircrc) (Nicolas Pioch)
# -------------------------------------------------------------------
# The aim of this file is to shorten all useful commands to 1 letter.
# Let's go behind the scenes...
^set DISPLAY off
# "I ain't be no newbie".
set NOVICE off
# Speeds up ircII display 2 times
set SCROLL_LINES 2
set AUTO_WHOWAS on
set SHOW_CHANNEL_NAMES on
set INPUT_ALIASES off
set SHOW_AWAY_ONCE on
# Put Hack notices down under
on ^SERVER_NOTICE "* NOTICE -- Hack: *" set STATUS_USER Hack: $4-
#Get rid of stupid 2.6 server messages "*** Nick: Channel not found"
on ^403 *
# Who is that?
on ^msg * echo *$0!$%USERHOST()* $1-
on ^join * echo *** $0 has joined channel $1- ($%USERHOST())
# /w [<nickname>] get info on someone
# /q [<nickname>] query someone
# /m <nickname> <text> send a message
# /n <nickname> <text> send a notice
# /r <text> reply to last message I got
# /a <text> followup on my last message
alias w whois
alias q query
alias m msg
alias n notice
alias r msg $,
alias a msg $.
# /j <channel> join a channel
# /l <channel> list people in a channel
# /ll list in the current channel
# /i <nickname> [<channel>] invite someone
# /hop leave the current channel
alias j join
alias l who
alias ll who *
alias i invite
alias hop part $C
# /o <nickname> [<nickname> <nickname>] give channel op
# /d <nickname> [<nickname> <nickname>] remove channel op status
# /k <nickname> kick someone
# /mo [+/-]<modechars> change current channel mode
alias o mode $C +ooo
alias d mode $C -ooo
alias k kick
alias mo mode $C
# The "wrong person" alias! /oops <nickname> to resend message to
alias oops {
^assign _whoops $B
msg $. Whoops! Please ignore, that wasn't meant for you.
msg $0 $_whoops
}
alias unset set -$*
alias unalias alias -$*
alias NickServ msg NickServ@Service.de
alias NoteServ msg NoteServ@Service.de
^set DISPLAY on
# -------------------------------------------------------------------
3. FREQUENTLY ASKED QUESTIONS
=============================
3.1 How do I use a client?
~~~~~~~~~~~~~~~~~~~~~~~~~~~
You either compile the source yourself, have someone else on your
machine compile the source for you, or you use the 'telnet' client:
"telnet bradenville.andrew.cmu.edu"
"telnet irc.santafe.edu", login: "irc"
or if you are in Europe
"telnet ircserver.itc.univie.ac.at 6668"
3.2 Where can I get source for an IRC client?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
UNIX ircII
----------
cs.bu.edu - /irc/clients
ftp.acsu.buffalo.edu - /pub/irc
slopoke.mlb.semi.harris.com - /pub/irc
plod.cmbe.unsw.oz.au - /pub
coombs.anu.edu.au - /pub/irc
nic.funet.fi - /pub/unix/irc/ircII
ftp.informatik.tu-muenchen.de - /pub/net/irc
EMACS elisp
-----------
cs.bu.edu - /irc/clients/elisp
slopoke.mlb.semi.harris.com - /pub/irc/emacs
nic.funet.fi - /pub/unix/irc/Emacs
lehtori.cc.tut.fi - /pub/irchat
ftp.informatik.tu-muenchen.de - /pub/net/irc
VMS
---
cs.bu.edu - /irc/clients/vms
coombs.anu.edu.au - /pub/irc/vms
nic.funet.fi - /pub/unix/irc/vms
ftp.informatik.tu-muenchen.de - /pub/net/irc
REXX for VM
-----------
ftp.informatik.uni-oldenburg.de - /pub/irc/rxirc
ftp.informatik.tu-muenchen.de - /pub/net/irc/VM
cs.bu.edu - /irc/clients/rxirc
coombs.anu.edu.au - /pub/irc/rxirc
nic.funet.fi - /pub/unix/irc/rxirc
MSDOS
-----
freebie.engin.umich.edu - /pub/irc/clients
nic.funet.fi - /pub/unix/irc/msdos
The current "official" ircII release is version 2.1.5h. This means
that this is said to be bugfree. (Hehe, you never know...)
In addition to this "official" distribution, you may find preversions
of 2.2 clients floating around, for people who like to track down bugs
and taste things to come. However, you should be aware that ircII
numbered 2.2preN are currently been worked on, and may not have full
features working properly. It's your choise...
3.3 Which server do I connect to?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's usually best to try and connect to one geographically close, even
though that may not be the best. You can always ask when you get on IRC.
Here's a list of servers available for connection:
csd.bu.edu
ucsu.colorado.edu
badger.ugcs.caltech.edu
coombs.anu.edu.au
ug.cs.dal.ca
nic.funet.fi
irc.nada.kth.se
suntrax1.cern.ch
poly.polytechnique.fr
This is by no means, a comprehensive list, but merely a start.
Connect to the closest of these servers and join the channel
#Twilight_Zone or, if you are in Europe, #EU-Opers. When you are there,
immediately ask what you want. Don't say "I have a question" because
then everyone will ignore you until you say it a few times, and then
they'll jump down your throat and rip your lungs out. Noone knows if he
can answer your question until you ask it.
3.4 What are good channels to try while using IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Hottub and #initgame are almost always teeming with people. #Hottub
is meant to simulate a hot tub, and #initgame is a non-stop game of
"inits" (initials). Just join the fun and find out!
Many IRC Operators are in #Twilight_Zone, while European Operators
concentrate in #EU-Opers... So if you join an Operator channel and don't
hear much talking, don't worry, it's not because you joined, Operators
don't talk much on such channels anyways!
3.5 What if someone tells me to type something cryptic?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NEVER type anything anyone tells you to without knowing what it is.
There is a problem with typing a certain command with the ircII client
that gives anyone immediate control of your client, (and thus can alter
your account environment also). Look in the ircII on-line help each time
you can.
3.6 I get strange characters on my screen, what are they?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IRC has quite a lot of people from Scandinavian countries, }{|][\ are
letters in their alphabet. This has been explained on IRC about a
thousand and one times, so read the following, don't ask it on IRC:
[, { 'a' with two dots over it
], } 'a' with a small circle above it
\, | 'o' with two dots over it, or a dash ("/") through it
("[", "]", and "\" = upper case)
In addition to that, Japanese IRC'ers use a special ansi escape
control sequences to transmit their Kanji alphabet. This may also look
funny if you get some of it... Here's a sample: [$B$?$K$7[$B;$m$K#
(nice, uh?)
3.7 What about NickServ?
~~~~~~~~~~~~~~~~~~~~~~~~~
To qoute from NickServ's help text, NickServ's purpose is to help
avoiding nickname confusionson IRC. There's no such thing as "nickname
ownership", however NickServ sends a warning to anyone else who signs on
with your nickname. If you don't use IRC for 10 weeks, your nickname
registration expires for reuse.
Only a NickServ operator can change your NickServ password. To find
out which NickServ operators are on-line, send
/MSG NickServ@Service.de OPERWHO
Nicknames with a "*" next to them are on-line at the time.
3.8 How do I send a file to someone over IRC?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To send small text files, electronic mail is probably the best
solution. However, ircII provides you a way to establish Direct Client
Connections ("DCC") to perform functions like sending and receiving
files, (such data transfers are slower than ftp).
If NickA wants to send a file to NickB, then NickA should type:
/DCC SEND NickB filename
On NickB's screen will appear:
*** DCC SEND (filename) request received from NickA
If he, (NickB), wants to get the file, he just needs to type:
/DCC GET NickA filename
A few seconds later
*** DCC GET connection with NickA established
*** DCC GET filename connection to NickA completed
will warn both users that data transfer has been successfully
completed.
Here's a quick overview of the subject:
/DCC <function> [<arguments>]
Handles direct connections to remote clients. The behaviour of /DCC
is determined by the specified <function>.
/DCC SEND <nickname> <filename>
Initiates a file transfer by direct client connection.
/DCC GET <nickname> <filename>
Accepts a file transfer by direct client connection. The sender must
first have offered the file with /DCC SEND.
/DCC LIST
Shows the current /DCC connections with their types, status and
nicknames involved.
/DCC CLOSE <type> <nickname> [<arguments>]
Ends an unwanted DCC connection or offer. The <type>, <nickname> and
<arguments> must be the same as those shown by "/DCC LIST". If the
arguments are not supplied, the oldest connection of the specified type
is closed.
More details can be found in ircII on-line help: try "/HELP DCC", for
more information.
However, if someone asks you to send him a file, DON'T do it unless
you you EXACTLY know what you are doing. For instance, NEVER send the
password file of your system to anybody. This could grant crackers
illegal access to your machines, and put you and your system
administrator in much trouble.
3.9 I'm being flooded or harassed by a jerk. HELP!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If somebody is behaving like a jerk on IRC, like dumping to a channel
Mb's of garbage, then he should be /KICKed and eventually banned from the
channel, (see "/HELP MODE" for details).
If it's a matter of personal harassment, then you should set a proper
/IGNORE on that person, (preferably on his userid@hostname). Remember
you can use wildcard expressions for /IGNORE. More about this in section
2.2.
3.10 How do I get rid of a ghosted IRC session?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sometimes you may have a "ghosted" IRC session, a process still
running on your machine you would like to get rid of, but can't control
anymore to issue a /QUIT command. Going back to a unix shell, try
listing your processes: ("ps -ux" or "ps -f" depending on your system)
poly ~ > ps -ux
USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND
pioch 10410 1.4 0.2 839 402 pf S 0:00 /usr/local/bin/emacs
pioch 25441 0.6 0.9 2888 1908 ? S 0:32 xterm -ls
pioch 25444 0.4 0.2 550 341 pf S 0:17 -tcsh (tcsh)
pioch 10404 0.1 0.3 897 624 pf S 0:00 irisVx 5 4 10403
pioch 25634 0.0 0.3 1022 678 p6 S 0:22 irc
pioch 25451 0.0 0.2 953 326 ? S 0:07 xmailbox
pioch 25452 0.0 0.1 386 147 ? S 0:00 xdaliclock
pioch 25459 0.0 0.3 1109 617 ? S 0:02 xman
pioch 10403 0.0 0.1 574 124 pf I 0:00 mapleV
pioch 10423 0.0 0.2 614 459 pf R 0:00 /bin/ps -ux
Locate the line about your lost IRC session, (irc should appear in the
COMMAND field of the line), and its PID, (process number, second field of
the line here). In this example the PID is 25634, as shown here:
USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND
pioch 25634 0.0 0.3 1022 678 p6 S 0:22 irc
All you then need to type is "kill -kill" or "kill -9" immediatly
followed by the PID found above: "kill -kill 25634" here.
You can get more details about the commands involved here in the
standard unix manual, ("man 1 ps" or "man 1 kill").
3.11 Where can I find more?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you have access to Usenet News, (usually through a program called
rn, trn, xrn or nn), you may want to join alt.irc debates, flamings and
whinings.
You can also join various IRC related mailing lists. "Operlist"
discusses current (and past) server code, routing and protocol. You can
join by mailing operlist-request@eff.org.
To subscribe to the irchat list, mail irchat-request@cc.tut.fi. There
is a low traffic ircII mailing list, mail dl2p+@andrew.cmu.edu to be
added. Another mailing list, ircd-three@eff.org exists to discuss
protocol revisions for the 3.0 release of ircd, currently in planning.
Mail ircd-three-request@eff.org to be added to that.