Location: PHPKode > projects > Esp php p2p project > p2p/files/user/An IRC Tutorial.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://www.irchelp.org/irchelp/irctutorial.html -->
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
content="Step by step tutorial for mastering&#10;    Internet Relay Chat (IRC), explaining all common commands by&#10;&#9;definition and example." 
<META content="" name=keywords IRC? to guide beginner introduction, IRC 
tutorial, #irchelp, irchelp, chat, relay internet help, IRC,><MAP 
  name=nav_map><AREA shape=RECT coords=1,1,70,38 
  href="http://www.irchelp.org/"><AREA shape=RECT coords=72,1,141,38 
  href="http://www.irchelp.org/irchelp/search_engine.cgi"><AREA shape=RECT 
  coords=143,1,212,38 href="http://www.irchelp.org/irchelp/help.html"><AREA 
  shape=RECT coords=214,1,283,38 
<META content="MSHTML 5.50.4134.600" name=GENERATOR></HEAD>
<BODY text=#7a0818 bgColor=#ffffe8><!--
1/7/97 update by Jolo:

Extensive use of <DL> to show commands
Nixed all the : and IRC: prefixes which are more confusing than helpful.
Changed all +channels to #channels in examples, nixed references to numeric channels, updated +channel as 2.9 modeless string channel.

8/17/98 update by Jolo:

Remove ircII emphasis, now everything works for ircII, mIRC, and Ircle.
Generic-ize all examples, no more vanity crap.
Use red and blue to indicate what you type vs. what you see.
Add sections for DCC CHAT and GET/SEND.
Major restructuring to a new 3-section scheme: getting started, basic chat (public v. private), and more advanced stuff (channel ops, server commands).
Beefed up /MODE section considerably into mini-opguide.
Streamlined server commands separate from channel commands.
Temporarily deleted entire part 3 of 3 from original pertaining to esoteric customization of ircII.

8/18 minor grammar fixes by Jolo.

8/23 rewrites to part 3, prelude to splitting it out entirely

<H1 align=center>An IRC Tutorial</H1>
<P>Original web version with over 100 links at <A 
<P><A name=toc>
<H2>Table of Contents</H2></A>
  <P>1. <A 
  href="http://www.irchelp.org/irchelp/irctutorial.html#part1">Introduction and 
  Basics</A> </P>
  <DD>1.1. <A 
  href="http://www.irchelp.org/irchelp/irctutorial.html#intro">Introduction to 
  <DD>1.2. <A 
  <DD>1.3. <A href="http://www.irchelp.org/irchelp/irctutorial.html#cmds">Basic 
  IRC Commands</A> 
  <P>2. <A href="http://www.irchelp.org/irchelp/irctutorial.html#part2">Chatting 
  on IRC</A> </P>
  <DD>2.1. <A 
  <DD>2.2. <A 
  <DD>2.3. <A href="http://www.irchelp.org/irchelp/irctutorial.html#dcc">File 
  <P>3. <A href="http://www.irchelp.org/irchelp/irctutorial.html#part3">Beyond 
  the Basics</A> </P>
  <DD>3.1. <A 
  <DD>3.2. <A 
  <DD>3.3. <A 
  <DD>3.4. <A 
  href="http://www.irchelp.org/irchelp/irctutorial.html#bye">Conclusion</A> <!--
<DT>3. <A HREF="#part3">Customizing Your IRC Environment</A>
	<DD> 3.1 <A HREF="#prereq">Prerequisites</A>
	<DD> 3.2 <A HREF="#env">Environment Variables</A>
	<DD> 3.3 <A HREF="#ircrc">Initialization Files</A>
	<DD> 3.4 <A HREF="#var">Variables: Changing ircII's behaviour</A>
  <P>Credits: </P>
  <DD>6/26/1991 - originally written by <A 
  href="http://www.xs4all.nl/~rvloon/">Ronald van Loon (rvl)</A>. 
  <DD>1/07/1997 - update &amp; HTML translation by <A 
  href="http://deckard.mc.duke.edu/~jyl/">Joseph Lo (Jolo)</A>. 
  <DD>8/17/1998 - revised by <A href="http://deckard.mc.duke.edu/~jyl/">Joseph 
  Lo (Jolo)</A>. </DD></DL>
<P><A name=part1>
<H1>1. Introduction and Basic Commands</H1><A name=intro>
<H2>1.1. Introduction to IRC</H2></A>
<H3>What is IRC?</H3>
<P><A href="http://www.irchelp.org/">IRC (Internet Relay Chat)</A> is a 
multi-user, multi-channel chatting system. Imagine sitting in front of your 
computer and "talking" through typed messages with either one person or many 
other people from all over the Internet, all in real time! Best of all, once you 
get set up, chatting on IRC is totally free! 
<H3>Some Other Help Files</H3>
<P>There are many <A href="http://www.irchelp.org/irchelp/faq.html">help 
files</A> designed to introduce you to the exciting and sometimes bewildering 
world of IRC. This tutorial that you are reading now is intended to walk you 
through the important commands one by one so that you can learn by doing. If you 
are brand new to IRC, you may wish to first read the very short <A 
href="http://www.irchelp.org/irchelp/new2irc.html">IRC Prelude</A> (or its many 
<A href="http://www.irchelp.org/irchelp/misc/">translations</A>) to get yourself 
oriented. Then later you may check out one of the standard references, such as 
the alt.irc newsgroup's <A 
href="http://www.irchelp.org/irchelp/altircfaq.html">frequently asked 
questions</A> (FAQ) list, or the long but extremely thorough <A 
href="http://www.irchelp.org/irchelp/ircprimer.html">IRC Primer</A> which is 
organized like a textbook. 
<H3>Client / Server</H3>
<P>IRC is based on a client-server model. You run a client program on your own 
computer which connects you to a server computer on the Internet. These servers 
link to many other servers to make up an IRC network, which transport messages 
from one user (client) to another. In this manner, people from all over the 
world can talk to each other live and simultaneously. 
<P>To join in the fun, all you need is an Internet Service Provider to get you 
connected to the Internet (if you're able to read this web page, you're already 
connected), and an IRC client program. The most popular clients are <A 
href="http://www.irchelp.org/irchelp/mirc/">mIRC</A> for the Windows operating 
system, <A href="http://www.irchelp.org/irchelp/ircii/">ircII</A> for UNIX, and 
Ircle for <A href="http://www.irchelp.org/irchelp/mac/">Macintosh</A>. A good 
provider should have installed one of these for you already, if not you can 
download them yourself for free. (Ircle and mIRC are shareware, meaning you get 
a one month free trial, then if you like it and keep it, you are bound by an 
honor system to pay the author a modest fee.) 
<H3>Networks, Servers, and Channels</H3>
<P>Once you are set up with a provider and a client, you are in control. Choose 
a nickname you wish to be known by, then connect to one of the many different <A 
href="http://www.irchelp.org/irchelp/networks/">IRC networks</A> catering to 
different geographical locations, interests, or philosophies. The largest 
networks have tens of thousands of people online at any given moment, drawn from 
an order of magnitude or more of regular visitors. These people create thousands 
of channels (sometimes incorrectly called "chat rooms") where people may meet 
and mingle. You may join these channels and participate in the group discussion, 
or you may elect to chat privately with individuals. 
<P>Conversations on a channel are like those at a party: everybody who is 
present hears everything that everybody else is saying. If somebody is late to 
the party or leaves early, however, they will not hear what is said in their 
absence. All channels on IRC have names starting with #, such as #irchelp where 
you can get technical IRC help, or #new2irc where new users are welcome to join 
and chat. Usually, the name of the channel shows what it's for, but not always. 
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] 
</H5><A name=quickstart>
<H2>1.2. Quick Start</H2></A>
<P>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.) 
<P>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 <TT><FONT color=#ff0000>irc</FONT></TT> 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. 
<P>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. 
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] 
</H5><A name=cmds>
<H2>1.3. Basic IRC Commands</H2></A>
<P>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 <TT><FONT 
color=#ff0000><B>red</B></FONT></TT>, while text which you will see in response 
will be shown in <TT><FONT color=#0000ff><B>blue</B></FONT></TT>. 
<P>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. 
  <P><B>/HELP [optional command name]</B> </P>
  <P>The first and most useful command is the on-line help built into all good 
  IRC clients just by typing <TT><FONT color=#ff0000>/help</FONT></TT> 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 <TT><FONT color=#ff0000>/help 
  who</FONT></TT> for the /who command. 
  <P>You can get a quick introduction to IRC built into your client. mIRC users 
  type <TT><FONT color=#ff0000>/ircintro</FONT></TT> while ircII users type 
  <TT><FONT color=#ff0000>/help intro</FONT></TT> or <TT><FONT 
  color=#ff0000>/help newuser</FONT></TT>. 
  <P>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. 
  <P>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 "/" in 
  front of the command, though. 
  <P>For example, you type the following:<BR><PRE><FONT color=#ff0000>/W &lt;ESC&gt;&lt;ESC&gt;</FONT></PRE><BR>You get as 
  a response the following (this is just an example. Your screen may show more 
  or less aliases or commands):<BR><PRE><FONT color=#0000ff>*** Commands:
***     WAIT           WALLOPS        WHILE          WHO
***     WHOIS          WHOWAS
*** Aliases:
***     W              WA             WH             WI
  <P><B>/SERVER new-server-hostname</B> </P>
  <P>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 
  <A href="http://servers.undernet.org/">Undernet</A>, <A 
  href="http://www.dal.net/servers/">DALnet</A>, and <A 
  respectfully. Just specify the hostname to connect or switch to that server. 
  For example:<BR><PRE><FONT color=#ff0000>/SERVER irc.psinet.com</FONT></PRE>
  <P>You then see the following messages indicating your client has successfully 
  connected to that server.<BR><PRE><FONT color=#0000ff>*** 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]
  <P><B>/NICK new-nickname</B> </P>
  <P>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": 
  <P><PRE><FONT color=#ff0000>/NICK YourNick</FONT>
<FONT color=#0000ff>*** foo is now known as YourNick
  <P><B>/LIST</B> </P>
  <P>Lists IRC channels, number of users, and topic for each. This is how you 
  find places to go meet people and chat. 
  <P><PRE><FONT color=#ff0000>/LIST</FONT>
<FONT color=#0000ff>*** 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]
  <P>If you're on a big network, this list may be <B>very</B> 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 <A 
  href="http://www.irchelp.org/irchelp/chanlist/">EFnet channel list</A> web 
  page which is updated hourly, or the less frequently updated but more 
  comprehensive <A href="http://www.liszt.com/chat/">Liszt channel list</A>. 
  <P>You can also search for specific keywords by using <TT><FONT 
  color=#ff0000>/LIST keyword</FONT></TT> in mIRC, or <TT><FONT 
  color=#ff0000>/LIST *keyword*</FONT></TT> 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. </P>
  <P><B>/NAMES #channel-name</B> </P>
  <P>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. 
  <P><PRE><FONT color=#ff0000>/NAMES #demo</FONT>
<FONT color=#0000ff>Pub: #demo   @YourNick +buddy DeepMpact @FunGuy PrettyGrl
  <P>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 <A 
  modes</A> section later. </P>
  <P><B>/WHOIS nickname</B> </P>
  <P>Shows information about the nick specified. 
  <P><PRE><FONT color=#ff0000>/WHOIS buddy</FONT>
<FONT color=#0000ff>*** buddy is hide@address.com (Think different.)
*** on channels: @#demo #test123
*** on irc via server irc.psinet.com (PSI Net EFNet IRC Server)
  <P>The "hide@address.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. 
  <P>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. We will discuss <A 
  channels</A> and <A 
  later in <A href="http://www.irchelp.org/irchelp/irctutorial.html#part3">part 
  3</A>. </P>
  <P><B>/AWAY away-message-here</B> </P>
  <P>Leave a message explaining that you are not currently paying attention to 
  <P><PRE><FONT color=#ff0000>/AWAY getting coffee, be back in 5 mins</FONT>
<FONT color=#0000ff>You have been marked as being away
  <P>If your friend does <FONT color=#ff0000>/whois YourNick</FONT> now, they 
  will get the 3 lines as described in the /whois section above, plus a final 
  line saying:<BR><FONT color=#0000ff>*** YourNick is away: getting coffee, be 
  back in 5 mins</FONT> 
  <P>/AWAY without any additional argument will remove the away message. 
  <P><PRE><FONT color=#ff0000>/AWAY</FONT>
<FONT color=#0000ff>You are no longer marked as being away (or something to that effect)
  <P><B>/QUIT [optional farewell message]</B> </P>
  <P>Exits IRC (also leaves any channels you may be on). 
  <P><PRE><FONT color=#ff0000>/QUIT hasta la vista, baby!</FONT>
<FONT color=#0000ff>*** Signoff: YourNick (hasta la vista, baby!)
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] </H5>

<P><A name=part2>
<H1>2. Chatting on IRC</H1></A>
<P>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. 
<P><A name=pubcom>
<H2>2.1. Public Conversations</H2></A>
<P>We previously learned how to find channels using the /list command. Here will 
talk about how to join those channels and talk on them. 
<P>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. 
  <P><B>/JOIN #channelname</B> </P>
  <P>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. 
  <P><PRE><FONT color=#ff0000>/JOIN #new2irc</FONT>
<FONT color=#0000ff>*** YourNick (hide@address.com) 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]
  <P>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! 

  <P>You type:<BR><TT><FONT color=#ff0000>hello world!</FONT></TT><BR>but 
  everybody else sees:<BR><TT><FONT color=#0000ff>&lt;YourNick&gt; hello 
  world!</FONT></TT> </P>
  <P><B>/ME does something</B> </P>
  <P>Performs an action on a channel. Unlike talking normally, actions do not 
  start with &lt;YourNick&gt;. Use /ME in the third person (verbs like "is", 
  "does", "runs", etc.). 
  <P><PRE><FONT color=#ff0000>/ME is a pink bunny</FONT>
<FONT color=#0000ff>
YourNick is a pink bunny
  <P><B>/LEAVE [#channel_name]</B> </P>
  <P>Leaves the specified channel, or if no channel is specified, leaves the 
  current channel. </P></DD></DL>
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] </H5>
<P><A name=privcom>
<H2>2.2. Private Conversations</H2></A>
  <P><B>/MSG nickname message</B> </P>
  <P>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". 
  <BR><TT><FONT color=#ff0000>/MSG buddy hello, how are you?</FONT></TT> 
  <P>On your screen, you would see: <BR><TT><FONT color=#0000ff>-&gt; *buddy* 
  Hello, how are you?</FONT></TT> 
  <P>On buddy's screen, if he is using ircII he sees: <BR><TT><FONT 
  color=#0000ff>*YourNick* Hello, how are you?</FONT></TT> 
  <P>To answer such a message using ircII, buddy would type: <BR><TT><FONT 
  color=#ff0000>/MSG YourNick Fine, thanks!</FONT></TT> 
  <P>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. </P>
  <P><B>/QUERY nickname</B> and <B>/QUERY</B> </P>
  <P>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:<BR><TT><FONT 
  color=#ff0000>/QUERY buddy</FONT></TT> 
  <P>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 "/" commands. Use <TT><FONT 
  color=#ff0000>/QUERY</FONT></TT> with no nickname to end a private 
  <P>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 "-&gt; *buddy*", and incoming messages to you from buddy start with 
  "*buddy*". <PRE><FONT color=#ff0000>/QUERY buddy</FONT>
<FONT color=#0000ff>*** Starting conversation with buddy</FONT>
<FONT color=#ff0000>Good morning</FONT>
<FONT color=#0000ff>-&gt; *buddy* Good morning, buddy.</FONT></TT>
<FONT color=#0000ff>*buddy* Hi, YourNick. How is life ?</FONT>
<FONT color=#ff0000>Pretty good. I have to get back to work, bye.</FONT>
<FONT color=#0000ff>-&gt; *buddy* Pretty good. I have to get back to work, bye.
*buddy* OK, talk to you later.</FONT></TT>
<FONT color=#ff0000>/QUERY</FONT>
<FONT color=#0000ff>*** Ending conversation with buddy</FONT>
  <P><B>/CTCP nickname PING</B><BR><B>/CTCP #channel-name PING</B> </P>
  <P>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. 
  <P><PRE><FONT color=#ff0000>/CTCP buddy PING</FONT>
<FONT color=#0000ff>*** CTCP PING from YourNick!hide@address.com to buddy: 903330542
*** CTCP PING reply from buddy: 1 second
  <P>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 <TT><FONT 
  color=#ff0000>/PING nickname</FONT></TT>, or <TT><FONT color=#ff0000>/PING 
  #channel-name</FONT></TT>, but not always. Some Mac clients such as Ircle use 
  <TT><FONT color=#ff0000>/CPING</FONT></TT> instead. </P>
  <P><B>DCC CHAT</B> </P>
  <P><B>/DCC CHAT nickname</B><BR><B>/MSG =nickname message</B><BR><B>/DCC CLOSE 
  CHAT nickname</B><BR>
  <P>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. 
  <P>If you are "Yournick" and your friend is "buddy", here's how to use DCC 
  <P>You type:<BR><TT><FONT color=#ff0000>/DCC CHAT buddy</FONT></TT> 
  <P>You see:<BR><TT><FONT color=#0000ff>*** Sent DCC CHAT request to 
  buddy</FONT></TT><BR>While buddy sees:<BR><TT><FONT color=#0000ff>*** DCC CHAT 
  (chat) request received from YourNick</FONT></TT> 
  <P>Now buddy types the same thing but using your nick:<BR><TT><FONT 
  color=#ff0000>/DCC CHAT YourNick</FONT></TT> 
  <P>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.<BR><TT><FONT color=#0000ff>*** DCC CHAT connection with 
  buddy[,54321] established</FONT></TT> 
  <P>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:<BR><TT><FONT color=#ff0000>/MSG =buddy now we're 
  <P>When you're done talking, either close the graphical window (if there is 
  one available) or manually close the connection:<BR><TT><FONT 
  color=#ff0000>/DCC CLOSE CHAT buddy</FONT></TT><BR><TT><FONT color=#0000ff>*** 
  DCC chat:&lt;any&gt; to buddy closed </FONT></TT><BR></P></DD></DL>
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] 
</H5><A name=dcc>
<H2>2.3. File Transfer</H2></A>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 <A 
href="http://www.irchelp.org/irchelp/security/trojan.html">trojan horse 
attacks</A>. These hacks allow strangers to take over your channels, force you 
to disconnect, erase your hard disk, or worse. The moral is clear: <B>Never 
accept candy from strangers</B>. 
  <P><B>DCC SEND and GET</B> </P>
  <P>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:<BR><TT><FONT color=#ff0000>/DCC SEND buddy 
  foo.jpg</FONT></TT><BR><TT><FONT color=#0000ff>*** Sent DCC SEND request to 
  <P>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:<BR><TT><FONT 
  color=#ff0000>/DCC SEND buddy c:\other\directory\foo.jpg</FONT></TT><BR>
  <P>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:<BR><TT><FONT color=#0000ff>*** DCC SEND (foo.jpg 180) 
  request received from YourNick</FONT></TT><BR><TT><FONT color=#ff0000>/DCC GET 
  <P>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.<BR><TT><FONT color=#0000ff>*** DCC SEND connection to 
  buddy[,54321] established</FONT></TT><BR><TT><FONT 
  color=#0000ff>*** DCC SEND:foo.jpg to buddy completed 1.234 
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] </H5>
<A name=part3>
<H1>3. Beyond the Basics</H1></A>Most novices can enjoy IRC quiet well with the 
basic IRC skills described in <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">part 1</A> and the 
ability to chat publicly and privately discussed in <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">part 2</A>. This 
section will now cover the basics of channel maintenance. <A name=chanop>
<H2>3.1. Channel Operators</H2></A>
<P>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. 
<P>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. 
<P>Some networks such as <A href="http://servers.undernet.org/">Undernet</A> and 
<A href="http://www.dal.net/servers/">DALnet</A> 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. 
<P>Two of the largest nets EFnet and IRCnet do <B>not</B> support channel 
registration (or any other services). On these nets, there is <B>no</B> 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. 
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] </H5>
<P><A name=chanmode>
<H2>3.2 Channel Maintenance</H2></A>
<P>This section will cover the basic commands used by channel ops to maintain a 
channel. Try them on a test channel! 
<P>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. 
  <P><B>/TOPIC #channelname whatever topic for channel</B> </P>
  <P>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. 
  <P><TT><FONT color=#ff0000>/TOPIC #demo hello, 
  testing</FONT></TT><BR><TT><FONT color=#0000ff>*** YourNick has changed the 
  topic on #demo to hello, testing</FONT></TT> </P>
  <P><B>/KICK nickname [optional reason]</B> </P>
  <P>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. 
  <P><TT><FONT color=#ff0000>/KICK buddy go away, you're annoying 
  me</FONT></TT><BR><TT><FONT color=#0000ff>*** buddy has been kicked off #demo 
  by YourNick (go away, you're annoying me)</FONT></TT> </P></DD></DL>
<H3>Channel Modes</H3>
<P>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: 
<P><TT><FONT color=#ff0000>/mode #demo</FONT></TT><BR><TT><FONT 
color=#0000ff>*** Mode for channel #demo is "+tn"</FONT></TT> 
<P>What does the "+tn" mean? Those and other modes are described below. 
  <P><B>Public</B> </P>
  <DD>This is the default channel mode. Public means that everyone can see the 
  channel in the /NAMES and /LIST lists. These channels usually welcome 
  <P><B>Private (p) or Secret (s)</B> </P>
  <DD>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 
  <TT><FONT color=#ff0000>/LIST</FONT></TT>. Even if you know the channel name, 
  you still cannot use <TT><FONT color=#ff0000>/WHO #channelname</FONT></TT> 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 
  <P>To make #demo a secret channel:<BR><TT><FONT color=#ff0000>/MODE #demo 
  +s</FONT></TT><BR><TT><FONT color=#0000ff>*** Mode change "+s" on channel 
  #demo by YourNick</FONT></TT><BR>
  <P>To make #demo a public channel again (removing the secret 
  mode):<BR><TT><FONT color=#ff0000>/MODE #demo -s</FONT></TT><BR><TT><FONT 
  color=#0000ff>*** Mode change "-s" on channel #demo by 
  <P>In the following examples I'll leave out the responses in blue since they 
  are all similar to the above. </P>
  <P><B>No external messages to the channel (n)</B> </P>
  <DD>People outside the channel cannot do <TT><FONT color=#ff0000>/MSG 
  #channel_name [whatever]</FONT></TT> which would otherwise be sent to 
  everybody on the channel 
  <P><B>Topic control (t)</B> </P>
  <DD>Only channel ops are allowed to change the topic 
  <P><B>Channel ops (o [nickname])</B> </P>
  <DD>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!<BR><TT><FONT color=#ff0000>/MODE 
  #demo +o buddy</FONT></TT><BR>
  <P>You can also do a few of these together on the same line, such 
  as:<BR><TT><FONT color=#ff0000>/MODE #demo +ooo larry curley 
  <P><B>Moderated (m)</B> </P>
  <DD>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. 
  <P><B>Invite Only (i)</B> </P>
  <DD>People can only join your channel if an op permits it. To set 
  it:<BR><TT><FONT color=#ff0000>/MODE #demo +i</FONT></TT><BR>
  <P>Then to let buddy in, use the /INVITE command:<BR><TT><FONT 
  color=#ff0000>/INVITE buddy #demo</FONT></TT> </P>
  <P><B>Limited (l [number])</B> </P>
  <DD>Only that number of people are allowed to /JOIN the channel.<BR><TT><FONT 
  color=#ff0000>/MODE #demo +l 20</FONT></TT> 
  <P>Later to remove the limit (note you don't need to specify the 
  number):<BR><TT><FONT color=#ff0000>/MODE #demo -l</FONT></TT>. </P>
  <P><B>Keyword or Password Protected (k keyword)</B> </P>
  <DD>You must know the keyword to /JOIN the channel. To set the keyword as 
  "trustno1":<BR><TT><FONT color=#ff0000>/MODE #demo +k trustno1</FONT></TT> 
  <P>Then in order for somebody outside to join, they must type:<BR><TT><FONT 
  color=#ff0000>/JOIN #demo trustno1</FONT></TT> 
  <P>And to remove the keyword:<BR><TT><FONT color=#ff0000>/MODE #demo -k 
  trustno1</FONT></TT> </P>
  <P><B>Channel bans (b [nick!hide@address.com])</B> </P>
  <DD>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 <A 
  href="http://www.irchelp.org/irchelp/irctutorial.html#part1">part 1</A> 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. 
  <P>For example, if you want to ban buddy, and his /WHOIS says:<BR><TT><FONT 
  color=#0000ff>*** buddy is hide@address.com (Think different.) 
  </FONT></TT><BR>Then the most specific ban mask would be 
  "buddy!hide@address.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:<BR><TT><FONT color=#ff0000>/MODE 
  #demo +b *!*hide@address.com*.provider.com</FONT></TT><BR>Or even a domain ban 
  against everybody from that provider (use sparingly since you may keep out a 
  lot of innocent people):<BR><TT><FONT color=#ff0000>/MODE #demo +b 
  <P>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":<BR><PRE><FONT color=#ff0000>/MODE #demo +b</FONT>
<FONT color=#0000ff>Current bans on #demo are:
*** #demo *!*@*.dummy.com irc.mcs.net 903321784
*** #demo *!*foo*@*.blah.net buddy!hide@address.com 903310028
  <P>If you want to remove the first ban, you have to use the exact same ban 
  mask, namely:<BR><TT><FONT color=#ff0000>/MODE #demo -b 
  *!*@*.dummy.com</FONT></TT> </P></DD></DL>
<P>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:<BR><TT><FONT color=#ff0000>/MODE #demo -i+tnk 
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] 
</H5><A name=server>
<H2>3.3. Server Commands</H2></A>
<P>This section describes how to get more information about the IRC servers you 
use. Each server is run by IRC operators or IRCops, who are sometimes mistakenly 
known as "IRC cops". These people run each IRC server and try to maintain a 
fast, reliable IRC network. <B>They are not cops</B> and do not interfere in 
user or channel matters such as restoring ops, fighting takeovers, defeating 
bans, nickname disputes, etc. For more information on what IRCops do, see the <A 
href="http://www.irchelp.org/irchelp/ircd/ircopguide.html">IRC Operator 
Guide</A> which is like a training manual for IRCops, or Monkster's short <A 
href="http://www.the-project.org/efnet/opermyth.html">Oper Myths</A> which 
definitively lists what IRCops can/can't/will/won't do. If after reading those 
you still think you need to contact an IRCop to report IRC abuse, see our <A 
href="http://www.irchelp.org/">IRC logging guide</A> for directions. 
<P><B>A special word on nukes:</B> denial of service attacks, commonly known as 
"<A href="http://www.irchelp.org/irchelp/nuke/">nukes</A>", are not part of IRC 
at all. As such, IRCops have no authority in trying to stop them. See our guide 
on <A href="http://www.irchelp.org/irchelp/nuke/report.html">logging and 
reporting nukes</A>. 
<P>Unless otherwise stated, all commands below apply to your current server 
unless you specify another server's hostname as the optional argument.
  <P><B>/LINKS</B> </P>
  <P>The LINKS command shows all the servers currently connected to form the <A 
  href="http://www.irchelp.org/irchelp/networks/">IRC network</A> you are using. 
  If a server mask is specifed, LINKS shows any servers that match the given 
  server mask, which may contain wildcards. 
  <P><PRE><FONT color=#ff0000>/LINKS *.com</FONT>
<FONT color=#0000ff>*** irc.rift.com      irc.total.net        3 [] Rift Online
*** irc02.irc.aol.com irc.lightning.net  6 America Online EFNet Server
[list truncated]
  <P>The 1st column is the server name, the 2nd is the server it is linked to, 
  the number in the 3rd column is the number of links away that server is from 
  yours. Caution: don't do /links too many times or you could be mistaken for a 
  troublemaker and sanctioned. </P>
  <P><B>/ADMIN</B> </P>
  <P>Displays the administrative details about a server. Usually this will give 
  you an e-mail address you can use to ask questions or report complaints such 
  as illegal bots (just don't hold your breath, most IRC ops are very busy 
  people, and see description of IRC op at the beginning of this section so you 
  don't bother them with takeovers and ops problems).
  <P><PRE><FONT color=#ff0000>/ADMIN</FONT>
<FONT color=#0000ff>*** Administrative info about irc.psinet.com
*** PSI Net EFNet IRC Server
*** Admin - Katherine Spray&lt;hide@address.com&gt;
*** moonwolf @ IRC
  <P><B>/MOTD</B> </P>
  <P>Gives the "message of the day" for a server which explains the server's 
  policies and other information. You should always read this before using any 
  <P><PRE><FONT color=#ff0000>/MOTD irc.ais.net</FONT>
<FONT color=#0000ff>[excerpted MOTD follows]
*** -  The Rules for IRC.AIS.NET:
*** -  o No Clones/Multiple clients
*** -  o No link looking scripts
*** -  o Clients must respond to valid ctcp requests
*** -
*** -  Failure to comply with any of the above rules may result in your
*** -  connection to this server being blocked.
<H5 align=center>[ <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#toc">contents</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">1</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part2">2</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">3</A> | <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#navbar">bottom</A> ] </H5>
<P><A name=bye>
<H2>3.3 Conclusion</H2></A>
<P>In the previous sections, you have learned (1) <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part1">IRC basics</A>, (2) 
<A href="http://www.irchelp.org/irchelp/irctutorial.html#part2">how to chat</A> 
both publicly and privately, including how to exchange files, and (3) went <A 
href="http://www.irchelp.org/irchelp/irctutorial.html#part3">beyond the 
basics</A> to explore channel maintenance and interacting with servers. That 
should be all you need for now to enjoy IRC. If you are interested in learning 
more, check out the many other <A 
href="http://www.irchelp.org/irchelp/faq.html">help files</A>. The <A 
href="http://www.irchelp.org/">IRChelp.org web site</A> also has many other <A 
href="http://www.irchelp.org/irchelp/help.html">helpful features</A> including 
<A href="http://www.irchelp.org/irchelp/mail.cgi">direct help by email</A>, 
client-specific help files, scripts, lists of <A 
href="http://www.irchelp.org/irchelp/networks/">networks and servers</A>, etc. 
Good luck! <A name=navbar></A>
<!-- navigation bar -->
<CENTER><IMG alt=navbar src="An IRC Tutorial_files/ihnavbar.gif" useMap=#nav_map 
<H5 align=center><A href="http://www.irchelp.org/irchelp/credit.html">Copyright 
© 1996,1997</A> Joseph Lo and many others.<BR></H5></BODY></HTML>
Return current item: Esp php p2p project