All about the IRC

Written by: David^

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, Asia
Europe, and Oceania.  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 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    Privacy on IRC
        1.4    First Steps
        1.5    Screen and Keyboard activity


2.     Let's go!

        2.1    General Commands
        2.2    Communication and Private Conversations
        2.3    Click for Next Page
        




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 once, with access
across the aggregate Internet, and providing a whole raft of other useful
features.

   There  are two ways to enter IRC from a Unix system.  If you are using
the   emacs    (editor  from  Richard  Stallman  and  the  Free  Software
Foundation)   lisp  client,  you  just  have  to type "M-x irc", (if this
doesn't  work  you  may need to load the client into your emacs session).
If  you  are using the C client, (easier for beginners), then you usually
type "irc".  Non-Unix boxes have special clients, each of which has to be
configured using a special procedure. Check the manual or help screen for
more information.

   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 or you are on  (more information 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, 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).
Other clients are similar, and often accept ircII commands.



[ table of contents]

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 a 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 to do otherwise,change channels and
set the topic accordingly.

   It's  not  necessary  to  greet  everybody  on  a  channel personally.
Usually  one "Hello!" or equivalent 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 your client facilities, (ircII "ON" command for
instance),  to  automatically say hello or goodbye to people 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.  If you use
offensive  words,  you'll be frowned upon.  Do not "dump" to a channel or
user,  (send  large  amounts of unwanted information).  This is likely to
get  you  kicked  off the channel or 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:

        * Harassing another user.  Harassment is defined as behavior
          towards another user with the purpose of annoying them.

        * Annoying a channel with constant beeping.

        * Any behavior reducing the functionality of IRC.



[ table of contents ]

1.3 Privacy on IRC



   You  should always keep in mind that messages you send to someone over
IRC are passed along  all the servers  between you and and the person you
are writing to.  When you're sending a letter to someone,  any postman on
the way could open it and read its contents...

   Well,  it's  the same on the network.  Any IRC-Admin could compile its
server  in "debug" mode and log whatever messages are transmitted through
his  node,  (it  has  already  been done), so a good thumb rule is not to
trust the servers.

              +-------------------------------------------+
              | IRC IS NOT A SECURE WAY OF COMMUNICATION! |
              +-------------------------------------------+

   How  to  establish  direct  communications  between  clients  will  be
explained later, (see DCC CHAT in section 2.5).  This should be used when
you wouldn't want anybody else on IRC to intercept your private messages.



[ table of contents ]

1.4 First Steps


   Note:   ircII,  the  client  most  people  are using, has most of this
information online.  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" and
"/sign  "  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 will be sent to your current channel, or to a person you are
QUERYing,  (the  QUERY  command  will  be  detailed  later on, maybe even
section 2.2).

   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 that prefix.  Don't
forget the "/" in front of the command though.

        /W <ESC><ESC>
        *** Commands:
        ***     WAIT            WALL            WALLOPS         WHICH
        ***     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"...



[ table of contents ]

1.5 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  next 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.


                         Table 1:  Editing keys
                         ----------------------
           Key      Effects
           ~~~      ~~~~~~~
            ^P      recalls previous command line
            ^N      recalls next command line
            ^F      moves forward one character
            ^B      moves backward one character
            ^A      moves the cursor to the beginning of the line
            ^E      moves the cursor to the end of the line
            ^D      deletes the character under the cursor
            ^K      kills from the cursor to the end
            ^Y      reinserts the last stretch of killed text
            ^U      clears the whole line
            ^L      redraws the screen


                       Table 2:  Editing commands
                       --------------------------
           Keyword   Action
           ~~~~~~~   ~~~~~~
           !         recalls previous commands for re-editing
           HISTORY   displays the command history
           LASTLOG   lists the most recent messages
           CLEAR     puts some white space on your screen


   The  !   command  is  used to recall previous commands 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 input
line.  "/!/MSG" will search the history for a line beginning with a /MSG,
(a "*" is implied at the end).

/![<history number>|<history match>]
   Recalls previous commands for re-editing.

   The command history can be dumped using:

/HISTORY [<number>]
   Displays  the  command  history  on  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.


                    Table 3:  Simple screen activity
                    --------------------------------

  What is displayed    What you typed      Sender     Recipients
  ~~~~~~~~~~~~~~~~~    ~~~~~~~~~~~~~~      ~~~~~~     ~~~~~~~~~~
  > Morning people     Morning, people     You        Channel
  <some1else> hello                        some1else  Channel
  -> *some1else* hi!   /msg some1else hi!  You        some1else (only)
  *some1else* wassup?                      some1else  You (only)



   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,  useful  if  you
inadvertantly  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.



[ table of contents ]

2. LET'S GO!



2.1 General Commands



                       Table 4:  General commands
                       --------------------------
    Keyword   Action
    ~~~~~~~   ~~~~~~
    NICK      changes your nickname
    QUIT      exits your IRC session, (same as BYE, SIGNOFF and EXIT)
    HELP      prints help on the given command
    WHOIS     displays information about someone
    WHOWAS    displays information about someone who just left
    AWAY      leaves a message saying you're not paying attention



/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  hierarchical fashion.  That  means that  certain help
           topics have sub-topics under them.
        [boring stuff deleted]



/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 [[<server>] <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 automagically 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



[ table of contents ]

2.2 Communication and Private Conversation



                 Table 5: Private conversation commands
                 --------------------------------------
      Keyword  Action
      ~~~~~~~  ~~~~~~
      MSG      sends a private message
      QUERY    starts a private conversation
      NOTICE   sends a private message
      NOTIFY   warns you of people logging in or out IRC
      IGNORE   removes output from specific people off your screen


   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.


   If you want to send a private message to more than one person, you can
specify a list of nicknames separated by commas, (no spaces).

        /MSG Nap,Sorg This message for both Nap and Sorg.
        -> *Nap* This message for both Nap and Sorg.
        -> *Sorg* This message for both Nap and Sorg.



   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>.

   All text you type that would normally be sent to your channel now goes
to  the  supplied  nickname  in  the  form  of MSGs.  To cancel a private
conversation, use QUERY with no arguments.

        /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 automaton), will be sent in
reply.  Services, (robots), on IRC often use this form of interaction.


/NOTICE <nickname>|<channel> <text>
   Sends a private message to the 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   (in ircII versions prior to 2.2, too many people
in the NOTIFY list cause excessive slowness).

        /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 behavior is to  IGNORE that person.  IGNORE is a very powerful
command,  and  can be used in many ways.  However the basic usage of this
tool is the following.


/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



[ table of contents ]

Next page