home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / pc / java / in4wjcxu / other / irc / doc / manual < prev    next >
Encoding:
Text File  |  1996-08-14  |  14.5 KB  |  381 lines

  1. /************************************************************************
  2.  *   IRC - Internet Relay Chat, doc/MANUAL
  3.  *   Copyright (C) 1990, Karl Kleinpaste
  4.  *
  5.  *   This program is free software; you can redistribute it and/or modify
  6.  *   it under the terms of the GNU General Public License as published by
  7.  *   the Free Software Foundation; either version 1, or (at your option)
  8.  *   any later version.
  9.  *
  10.  *   This program is distributed in the hope that it will be useful,
  11.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  *   GNU General Public License for more details.
  14.  *
  15.  *   You should have received a copy of the GNU General Public License
  16.  *   along with this program; if not, write to the Free Software
  17.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19.  
  20.                                                 Date: 04 Apr 1989
  21.                                               Author: Karl Kleinpaste
  22.                                                       karl@cis.ohio-state.edu
  23.                                                 
  24.                                    Last modification: 15 May 1992
  25.                                                   by  Mauri Haikola 
  26.                                                       mjh@stekt.oulu.fi
  27.  
  28.  
  29.              INTERNET RELAY CHAT
  30.           a real-time conversational system
  31.  
  32.  
  33. * 1: Irc - replacement for talk(1)
  34.  
  35. Irc is a functional replacement for and improvement to talk(1).  Talk
  36. is an old, primitive, atrocious, minimalist sort of keyboard/screen
  37. conversation tool, using a grotesque, machine-dependent protocol.
  38. Irc does everything talk does, but with a better protocol, allowing
  39. more than 2 users to talk at once, with access across the aggregate
  40. Internet, and providing a whole raft of other useful features.
  41.  
  42. * 2: Entering Internet Relay Chat
  43.  
  44. There are two ways to enter Internet Relay Chat. If you are using the
  45. emacs lisp client, you need to load the client into your Emacs session
  46. and then M-x irc. If you are using the C client (easier for beginners)
  47. then type (usually) irc. If you wish to be known by a nickname which
  48. is not one's login name, type `irc chosen-nickname' instead.
  49.  
  50. * 3: How much can be seen from here
  51.  
  52. The universe - seriously.
  53.  
  54. This is most formally called Internet Relay Chat.  Server hosts are
  55. connected via a tree structure.  The various servers relay control and
  56. message data among themselves to advertise the existence of other
  57. servers, users, and the channels and other resources being occupied by
  58. those users.
  59.  
  60. * 4: Structure
  61.  
  62. There is quite a lot of structure to the operation of irc, as
  63. compared to crufty old talk(1).  Since so little could be done with
  64. talk(1), it needed little structure.  But to keep track of people
  65. spread literally around the world (the system was written by Jarkko
  66. Oikarinen of Finland, usually seen on the system as `Wiz'), the
  67. structure is useful so that one can speak to exactly those people with
  68. whom one wishes to speak.
  69.  
  70. ** 4.1: Nicknames
  71.  
  72. All users of irc are known to the system by a `nickname.'  By
  73. default, one's nickname is one's login name.  Nickname clashes are not
  74. allowed; this is enforced by the servers.  If one's intended nickname
  75. clashes with someone else as one enters chat, one will not be able to
  76. complete entry to irc until one changes one's nickname to something
  77. else.
  78.  
  79. ** 4.2: Presence on a channel
  80.  
  81. Fundamental to the operation of irc is the concept of a channel.  All
  82. users are `on a channel' while inside irc.  One enters the `null
  83. channel' first.  One cannot send any messages while not in any
  84. chatting channel unless one has set up a private conversation in some
  85. way.  The number of channels is essentially unlimited - whatever will
  86. fit in a string of some ungodly length, that must start with a # sign.
  87.  
  88. ** 4.3: Main modes of channels
  89.  
  90. Public
  91.  
  92. This is the default mode for a channel. When one is on a public
  93. channel, one can be seen by all other users (if one's own user mode
  94. permits this).  Anyone can notice users on a public channel and join
  95. such a channel's conversation.
  96.  
  97. Private
  98.  
  99. This means that, although anyone can see that one is using chat, no
  100. one can tell what channel one is using unless one is already on that
  101. channel with oneself.  Since the number of potential channels is in
  102. the billions, this is quite some security - all one gives away is the
  103. acknowledgement that one is using chat.
  104.  
  105. Secret
  106.  
  107. While one is on a secret channel, no one who is not on one's channel
  108. with oneself can even see that one is there.  One's name does not show
  109. up in a list of active users.  The only indication of one's presence
  110. is that, when entering chat, all new users are told that there are "N
  111. users on P servers."  If one checks on all users and finds less than N
  112. of them, one knows that others are hiding on secret channels.  But a
  113. secret channel user still cannot be found except by brute-force
  114. checking through all channels, a hopeless proposition in the face of
  115. the huge number of possible channel names. Security through obscurity
  116. finally means something.
  117.  
  118. Changing the mode
  119.  
  120. The mode of a channel (private, secret, invite-only, moderated,
  121. topic-limited, person-number-limited, no-messages-to-channel, ban
  122. someone from channel) is set by the channel operator, who is the
  123. first person to join a channel, or someone who has had channel
  124. operatorship bestowed on them by another channel operator. 
  125.  
  126.  
  127. *** 4.4: Conversations not using channels
  128.  
  129. It is possible to conduct conversations with others without using the
  130. formalized channel structure.  Doing so requires that two people set
  131. themselves up for private conversation using special commands; see
  132. User Commands below.
  133.  
  134. * 5: Screen/keyboard structure
  135.  
  136. Chat is a full-screen utility.  It takes over the screen, with the
  137. bulk of activity happening in the top N-2 lines, a modeline (vaguely
  138. emacs-like) on the next to last line, and one's input being entered on
  139. the last line.  A very good version of client is the IRC-II client,
  140. avaliable on anonymous ftp from various sites around the world.
  141.  
  142. ** 5.1: Keyboard input
  143.  
  144. When typing commands at irc, one has a minimalist line-editing
  145. facility in an emacs style.  That is, ^A moves the cursor to the
  146. beginning of the line, ^E goes to the end, ^D deletes the character
  147. under the cursor, ^K kills from the cursor to the end, and so on.  
  148.  
  149. ** 5.2: Screen activity
  150.  
  151. Almost everything happens in the upper bulk of the screen.  This
  152. includes both messages from other users, as well as the output of the
  153. control commands.
  154.  
  155. Normal messages from other users appear with the originating nickname
  156. in <angle brackets>.  Private messages arrive with the originating
  157. nickname in *asterisks*.  Messages which one sends to everyone appear
  158. with a preceding "> " whereas messages which one sends privately to
  159. one other user appear with "-> *nickname*."
  160.  
  161. Other output (e.g., /who commands, invitations from other users to
  162. join channels, and so forth) appears interspersed with other activity
  163. on the screen.
  164.  
  165. * 6: Command structure
  166.  
  167. Ordinary text typed at irc is sent as one's messages to everyone else
  168. on the same channel, modulo personal choices for private messages and
  169. the like.  Commands to irc itself all begin with a command character,
  170. which is initially `/' but may be changed to any other character
  171. desired.
  172.  
  173. Commands may in general be abbreviated to a unique prefix.
  174.  
  175. ** 6.1: Leaving irc
  176.  
  177. The way to get out of irc is to enter the /signoff command.  "/si" is
  178. sufficient.  Also equivalent are "/exit," "/bye," and "/quit." A
  179. signoff command may include a comment which will be seen by everyone
  180. on the current channel of the person who left.
  181.  
  182. ** 6.2: Getting help
  183.  
  184. Type "/help."  Follow the instructions.
  185.  
  186. ** 6.3: User commands
  187.  
  188. The most important commands supported by irc are:
  189.  
  190.       help   signoff       who     whois
  191.       list     topic      join   channel
  192.      links       msg    invite    ignore
  193.      users     stats      nick      away
  194.       info     clear     query     cmdch
  195.       date      mode
  196.  
  197. *** 6.3.1: help
  198.  
  199. Information on how to use the rest of the system is available via
  200. /help.  The modeline says so as well.
  201.  
  202. *** 6.3.2: signoff {comment}
  203.  
  204. /signoff exits chat. Optional comment may be included; see above.
  205.  
  206. *** 6.3.3: who
  207.  
  208. /who returns information on who is using chat.  /who without arguments
  209. prints info on all users that can be seen.  Users of public channels
  210. show up with their channel identified.  Users of private channels
  211. appear, but they are specified as being on a private, unspecified
  212. channel.  Users of secret channels and users whose user mode is +i
  213. (invisible) do not appear at all.
  214.  
  215. Giving a channel name as an argument to /who returns only those users of the
  216. specified channel.  This still doesn't show users of secret channel or
  217. invisible users one is actually on the same channel with them. Users
  218. of private channels are shown, if an exact channel name is given.
  219.  
  220. *** 6.3.4: whois
  221.  
  222. This returns information about individual users.  Say "/whois
  223. nickname" to get information on the login name and host from which the
  224. nicknamed user comes.
  225.  
  226. *** 6.3.5: topic
  227.  
  228. Channels can be given off-the-cuff "topics."  Saying "/topic some
  229. string of text" will associate that topic with the current channel.
  230.  
  231. *** 6.3.6: list
  232.  
  233. /list will give lists of active channels, the number of users of each,
  234. and the topics therewith associated.  Again, secret channels do not
  235. appear and private channels only appear as Prv.
  236.  
  237. *** 6.3.7: join & channel
  238.  
  239. /join or /channel are the means to enter a channel.  Give the channel
  240. name as an argument.  If this is a secret or hidden channel, /who
  241. commands will show oneself and any other users of one's channel.
  242.  
  243. One's arrival on a channel is announced to the rest of the users
  244. already on that channel.  Silent, anonymous "lurking" is not
  245. supported.
  246.  
  247. *** 6.3.8: links
  248.  
  249. /links lists the currently-active set of chat servers.  Beware: this
  250. list can be quite long, and will undoubtedly get longer as chat gains
  251. wider use.  As of 15 May, 1992, about 130 servers is typical.
  252.  
  253. *** 6.3.9: msg
  254.  
  255. A single message can be sent privately to a certain user with /msg.
  256. Type /msg nickname and the text to be sent.  It will be sent privately
  257. to the indicated nickname.
  258.  
  259. *** 6.3.10: invite
  260.  
  261. If there is a user online to whom one wishes to speak, one may invite
  262. that user to join oneself on a certain channel.  One types "/invite
  263. nickname" with an optional channel number.  The receiving user gets a
  264. one-line message indicating the sender and the invitation.  The
  265. receiving user is free to ignore the invitation, of course.
  266.  
  267. *** 6.3.11: ignore
  268.  
  269. If one wants to ignore messages sent by some other user or users, it
  270. may be done with /ignore command. One can ignore someone by their
  271. nickname, or by their user@host data. Wildcards may be used. 
  272.  
  273. *** 6.3.12: users
  274.  
  275. /users will return a list of the users logged into one's system.  With
  276. an optional hostname identifying a chat server host, the users logged
  277. into that system will be listed.
  278.  
  279. *** 6.3.13: stats
  280.  
  281. This command returns counts of various protocol operations of one's
  282. chat server.  It is neither particularly useful nor interesting to
  283. users other than operators.
  284.  
  285. *** 6.3.14: nick
  286.  
  287. One can change nicknames by issuing "/nick new-nickname."  All users
  288. on one's channel will be advised of the change.  NOTE: If one enters
  289. chat with a nickname clash (e.g., one's login name is the same as
  290. someone else's, and the other user got there first), the system will
  291. not let one enter until one issues a /nick command with a unique
  292. nickname.
  293.  
  294. *** 6.3.15: away
  295.  
  296. Sometimes, one wishes to remain connected to the chat system, but one
  297. must be elsewhere for a while.  One can issue an /away command with
  298. arbitrary text as argument, which will mark oneself as being away.  If
  299. someone sends an away'd user a private message (via /msg or in a
  300. private session set up via /query; see below), the sender will get a
  301. message back from the server indicating the away-ness and the message
  302. which was set.
  303.  
  304. *** 6.3.16: info
  305.  
  306. /info returns information regarding the author and copyright of the
  307. chat system.
  308.  
  309. *** 6.3.17: clear
  310.  
  311. At times, one wishes that one's screen weren't so cluttered.  /clear
  312. makes it so.
  313.  
  314. *** 6.3.18: query
  315.  
  316. This command is used to set up private communications `outside' the
  317. normal channel system.
  318.  
  319. When one enters "/query nickname," the indicated nickname is set up as
  320. the sole recipient of anything which one types thereafter.  Thus, if
  321. user A executes "/query B" and user B executes "/query A," they have
  322. set up a private communication between themselves.  Significantly, it
  323. remains possible for them to stay on their respective channels, which
  324. need not be the same, and listen to whatever conversation is going on
  325. around them as well, though they cannot respond to that ambient
  326. conversation without leaving the private conversation they have set up.
  327.  
  328. One leaves this private mode by issuing /query without arguments.
  329.  
  330. *** 6.3.19: cmdch
  331.  
  332. The `/' character may not be best for some people to use as their
  333. command character.  It can be changed with "/cmdch <character>."
  334.  
  335. *** 6.3.20: mode
  336.  
  337. This command can be used for altering the various modes of a channel
  338. (see the explanation of channel modes above). /mode command can only
  339. be issued by channel operators. 
  340.  
  341. ** 6.4: Operator commands
  342.  
  343. The chat system administrators on each host have additional
  344. responsibilities and power over the configuration and operation of the
  345. servers.  The commands to do so are delineated below.
  346.  
  347. *** 6.4.1: oper
  348.  
  349. Users who have the potential for operator privileges initially invoke
  350. those privileges by "/oper nickname password," where nickname is the
  351. nickname under which operation is intended, and password is the
  352. password known to the chat system for that nickname.
  353.  
  354. *** 6.4.2: kill
  355.  
  356. Obnoxious users had best beware the operator who's fast on the /kill
  357. command.  "/kill nickname" blows any given nickname completely out of
  358. the chat system.
  359.  
  360. Obnoxiousness is not to be tolerated.  But operators should not use
  361. /kill lightly.
  362.  
  363. *** 6.4.3: quote
  364.  
  365. Raw access to the underlying server protocol is possible through the
  366. user of the /quote command.  "/quote any text at all" is used to send
  367. direct, unmodified commands to the servers.  This has a wide variety
  368. of uses, such as deliberately killing a local or remote chat daemon,
  369. invoking operator privileges for otherwise-operator-priv-forbidden
  370. users, and related tasks.  It is, again, a very powerful operation,
  371. and not to be used lightly.
  372.  
  373. * 7: Questions, problems, troubles?
  374.  
  375. If you have problems, please contact Christopher Davis (ckd@eff.org) or
  376. Helen Rose (hrose@eff.org). Known as "ckd" and "Trillian" on irc,
  377. respectively. You can also ask for help on some of the operator
  378. channels on irc, for example #twilight_zone and #eu-opers. They will
  379. be able to assist you in whatever problems you are having with IRC.
  380.  
  381.