mirror of
https://github.com/GeorgeMcMullen/rxIRC.git
synced 2026-01-27 04:33:01 +00:00
v1.3 of rxIRC
This commit is contained in:
34
action.helpirc
Normal file
34
action.helpirc
Normal file
@@ -0,0 +1,34 @@
|
||||
.cm last change by lynx -- january, 1992
|
||||
|
||||
_______
|
||||
*|^^^^^^^|* The Internet Relay Chat program
|
||||
*| rxIRC |* for VM/CMS systems written in
|
||||
*|_______|* RexX by Carl "lynx" v. Loesch.
|
||||
^^^^^^^
|
||||
|
||||
ACTION commands:
|
||||
These are commands which send a special kind of message to your current
|
||||
channel or query containing a sentence about your state, your feelings
|
||||
or an action you are taking.. virtually.. in your fantasy.
|
||||
This is to give you one more way of expressing yourself on IRC.
|
||||
|
||||
The commands work in different ways if issued with or without commands.
|
||||
For instance '/smile' will produce a message that you smile happily, while
|
||||
'/smile sadly' or '/smile at Phaedrus' will produce the appropriate output.
|
||||
You'll find out by experimenting.
|
||||
|
||||
The commands at disposition in the present rxIRC version are:
|
||||
BOW, COMFORT, CUDDLE, DANCE, GIGGLE, GRIN, HUG, LAUGH
|
||||
NOD, SHRUG, SIGH, SMile, THank, WAVE, WINK, YAWN
|
||||
|
||||
You should know that you can also produce your own message lines
|
||||
with the /ME or /Emote commands, like this:
|
||||
/me feels a little hungry now.
|
||||
|
||||
You can also try to add your own commands into the program. With the way
|
||||
it is done, it should be easy to understand also for someone who doesn't
|
||||
really know REXX. Just edit the RXIRC EXEC, move to the bottom of the file,
|
||||
and turn a page back. You'll see where you can add your lines.
|
||||
|
||||
Good suggestions for action commands are always welcome, send them to me
|
||||
by NoteServ or mail. :)
|
||||
52
custom.helpirc
Normal file
52
custom.helpirc
Normal file
@@ -0,0 +1,52 @@
|
||||
.cm last change by lynx -- april 25, 1991
|
||||
|
||||
_______
|
||||
*|^^^^^^^|* The Internet Relay Chat program
|
||||
*| rxIRC |* for VM/CMS systems written in
|
||||
*|_______|* RexX by Carl "lynx" v. Loesch.
|
||||
^^^^^^^
|
||||
|
||||
|
||||
*** How to customize rxIRC ***
|
||||
|
||||
|
||||
The IRC PROFILE startup file:
|
||||
This file should contain a series of lines that are executed by
|
||||
rxIRC as if you would type them in as soon as you get connected to
|
||||
a server. You could for instance do "/join #fun" or "/who bunny"
|
||||
|
||||
Namesfile settings:
|
||||
rxIRC gets your default nickname and full name from your namesfile
|
||||
unless otherwise specified in the command line. You can also set
|
||||
a 'motto' line by adding a :motto tag to your self-entry in your
|
||||
namesfile which will be displayed when VERSION requests are sent
|
||||
to you while you are ircing with rxIRC.
|
||||
|
||||
Environment settings:
|
||||
You may use 'setenv' or 'globalv' to put some values into environment
|
||||
variables. The variables recognized by rxIRC are IRCNICK, IRCSERVER
|
||||
IRCNAME and IRCPORT. rxIRC uses 'SELECT CENV' for compatibility with
|
||||
other IRC programs.
|
||||
|
||||
Defaults in the RXIRC NAMES file:
|
||||
Some defaults for the rxIRC program are defined here:
|
||||
server: the Internet address of an irc server
|
||||
port: the TCP/IP port it runs on, usually 6667
|
||||
timeout: when rxIRC should give up on connections
|
||||
logging: make it ON or OFF
|
||||
quiet_ignore: usually OFF
|
||||
loud_beeps: ON only when a BEEP MODULE is available.
|
||||
show_numbers: ON shows the reply numbers of server replies, for freaks.
|
||||
list_all: show also channels without topic in /list, i use OFF.
|
||||
beep_char: the character that gets translated into a beep and back.
|
||||
highlight_char: the char that gets translated into an inverse on ircII.
|
||||
|
||||
You might choose to copy this file onto your disk to be able to
|
||||
modify the values.
|
||||
|
||||
--
|
||||
You have 10069612 experience points, 99159963 gold coins, 9127 spell points.
|
||||
You also have 9999 hit points out of 9999.
|
||||
Strength: 966; Dexterity: 939; Intelligence: 957; Constitution: 948.
|
||||
Your age: 50 days 15 hours 37 minutes 32 seconds.
|
||||
|
||||
84
etiq.helpirc
Normal file
84
etiq.helpirc
Normal file
@@ -0,0 +1,84 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, doc/etiquette
|
||||
* Copyright (C) 1990, Lea Viljanen and Ari Husa
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
HOW TO BEHAVE ON IRC
|
||||
|
||||
Authors: Lea Viljanen (LadyBug) viljanen@kreeta.helsinki.fi
|
||||
Ari Husa (luru) so-luru@tolsun.oulu.fi
|
||||
|
||||
|
||||
1) Language
|
||||
|
||||
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 (with /topic) to indicate that. For example
|
||||
/topic Finnish only!
|
||||
would mean that this channel would be reserved for Finnish discussion.
|
||||
On the other hand, you should check the topic (with /list command)
|
||||
before you move to a channel to see if there are any restrictions about
|
||||
language.
|
||||
On a channel not restricted by /topic, please speak a language
|
||||
everybody can understand. If you want to do otherwise, change channels
|
||||
and set the topic accordingly.
|
||||
|
||||
|
||||
2) Hello/Goodbye
|
||||
|
||||
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, do it with a private /msg.
|
||||
The same applies to goodbyes.
|
||||
|
||||
|
||||
3) Discussion
|
||||
|
||||
When you come to a new channel it's advised you to listen
|
||||
for a while to get an impression of what's discussed. Please feel free
|
||||
to join in, but do not try to force your topic into the discussion
|
||||
if that doesn't come naturally.
|
||||
|
||||
|
||||
4) {}|[]\
|
||||
|
||||
IRC has quite a lot of people from Scandinavian countries,
|
||||
the above characters are letters in their alphabet. This
|
||||
has been explained on IRC about a thousand and one times, so
|
||||
read the following, do not ask it on IRC:
|
||||
|
||||
{ is an A with 2 dots over it
|
||||
} is an A with a small circle above it
|
||||
| is either an O with 2 dots over it or an O with a dash (/) through it
|
||||
[, ], and \ are the preceding three letters in upper case.
|
||||
|
||||
There are a lot of people from Japan as well, who use Kanji characters
|
||||
which may look quite exotic as well. As I don't know Kanji I don't
|
||||
even try to explain any of the characters.
|
||||
|
||||
5) ATTENTION!
|
||||
|
||||
Remember, people on IRC form their opinions about you only by
|
||||
your actions, writings and comments on IRC. 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 /kicked off the channel or
|
||||
/killed off from irc. Dumping causes network 'burbs', connections going
|
||||
down because servers cannot handle the large amount of traffic any more.
|
||||
51
faq.helpirc
Normal file
51
faq.helpirc
Normal file
@@ -0,0 +1,51 @@
|
||||
Frequently asked questions:
|
||||
--------------------------
|
||||
1. Why can't rxIRC have /alias and /on and /notify and everything else
|
||||
that ircII has?
|
||||
|
||||
Because ircII is a giant program that a lot of people have worked on
|
||||
to be able to do all of that. rxIRC is a relatively little program
|
||||
which I also want to stay that way, or it might get unpleasantly
|
||||
slow in execution!
|
||||
|
||||
I am sure that /alias and /on are functionalities that take a lot
|
||||
of time to develop and most of all consume to much speed. And they
|
||||
would look really ugly in the sourcecode. If you just would learn
|
||||
a little REXX you'd see that you can easily add commands into the
|
||||
EDIT: procedure and add hooks into the PARSE: procedure. You don't
|
||||
need any /on or /alias!
|
||||
|
||||
Concerning /notify, this could even be done, though it's a little
|
||||
tough to simulate a timer when REXTCPIP doesn't offer it. I might
|
||||
be inclined to do it, but I don't even use rxIRC myself, so why
|
||||
should I spend serious time on it? If you care, go ahead and do
|
||||
it yourself. Then send a copy of it to me, so I can release it.
|
||||
|
||||
2. Why when I do something outside of rxIRC with /exec, or simply read
|
||||
the /help files, the server signs me off?
|
||||
|
||||
In this case the evil ping goblin has bitten you. A particularity of the
|
||||
IRC protocol is that the server expects your client program to reply to
|
||||
a PING message it sends about every minute or so, when you have been
|
||||
idle. When you start a command with ! or /exec, rxIRC is not able to
|
||||
reply to the PING and the server closes the connection on you. Poof.
|
||||
|
||||
3. You have a bug, "/who -h *.il" doesn't work!
|
||||
|
||||
No, I don't have such a bug. The "-h" and "-s" options are specific
|
||||
to ircII. They are NOT standard. It is the normal and natural way
|
||||
to do it simply with "/who *.il"
|
||||
|
||||
4. When I use one of the new action commands on a channel, like /smile
|
||||
I get a lot of error messages.
|
||||
|
||||
The CTCP ACTION protocol is still rather new, not everyone likes, not
|
||||
everyone supports it, and most of all, a lot of people do not have up
|
||||
to date IRC programs. When you get such error messages better not use
|
||||
the commands on those channels. On other channels you might find people,
|
||||
who have newer clients, and you'll be able to communicate with the new
|
||||
commands.
|
||||
|
||||
You still have a question?
|
||||
Write mail to 244661 at DOLUNI1 (.bitnet) or to
|
||||
'loesch@informatik.uni-oldenburg.de' (internet).
|
||||
287
manual.helpirc
Normal file
287
manual.helpirc
Normal file
@@ -0,0 +1,287 @@
|
||||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, doc/MANUAL
|
||||
* Copyright (C) 1990, Karl Kleinpaste
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
Author: Karl Kleinpaste
|
||||
karl@cis.ohio-state.edu
|
||||
Date: 04 Apr 1989
|
||||
Last modification: 04 Apr 1989
|
||||
|
||||
INTERNET RELAY CHAT
|
||||
a real-time conversational system
|
||||
|
||||
|
||||
* 2: Entering Internet Relay Chat
|
||||
|
||||
Type `irc'. If one wishes to be known by a nickname which is not
|
||||
one's login name, type `irc chosen-nickname' instead.
|
||||
|
||||
** 4.1: Nicknames
|
||||
|
||||
All users of irc are known to the system by a `nickname.' By
|
||||
default, one's nickname is one's login name. Nickname clashes are not
|
||||
allowed; this is enforced by the servers. If one's intended nickname
|
||||
clashes with someone else as one enters chat, one will not be able to
|
||||
complete entry to irc until one changes one's nickname to something
|
||||
else.
|
||||
|
||||
** 4.2: Presence on a channel
|
||||
|
||||
Fundamental to the operation of irc is the concept of a channel. All
|
||||
users are `on a channel' while inside irc. One enters the `null
|
||||
channel,' channel 0, first. One cannot send any messages while in
|
||||
channel 0 unless one has set up a private conversation in some way.
|
||||
The number of channels is essentially unlimited - whatever will fit in
|
||||
a 32-bit integer.
|
||||
|
||||
** 4.3: Types of channels
|
||||
|
||||
There are 3 channel types, with increasing levels of privacy afforded
|
||||
them.
|
||||
|
||||
*** 4.3.1: Public channels
|
||||
|
||||
Public channels are channels 1-999. If one is on one of these
|
||||
channels, one can be seen by all other users. Anyone can notice users
|
||||
on a public channel and join such a channel's conversation.
|
||||
|
||||
*** 4.3.2: Private channels
|
||||
|
||||
Channels 1000-up are called `private' This means that, although
|
||||
anyone can see that one is using chat, no one can tell what channel
|
||||
one is using unless one is already on that channel with oneself.
|
||||
Since the number of potential channels is in the billions, this is
|
||||
quite some security - all one gives away is the acknowledgement that
|
||||
one is using chat.
|
||||
|
||||
*** 4.3.3: Secret channels
|
||||
|
||||
Negative channel numbers are called `secret' While one is on a
|
||||
hidden channel, no one who is not on one's channel with oneself can
|
||||
even see that one is there. One's name does not show up in a list of
|
||||
active users. The only indication of one's presence is that, when
|
||||
entering chat, all new users are told that there are "N users on P
|
||||
servers." If one checks on all users and finds less than N of them,
|
||||
one knows that others are hiding on negative channels. But a hidden
|
||||
channel user still cannot be found except by brute-force checking
|
||||
through all channels, a hopeless proposition in the face of 10-digit
|
||||
channel numbers. Security through obscurity finally means something.
|
||||
|
||||
** 4.5: Conversations not using channels
|
||||
|
||||
It is possible to conduct conversations with others without using the
|
||||
formalized channel structure. Doing so requires that two people set
|
||||
themselves up for private conversation using special commands; see
|
||||
User Commands below.
|
||||
|
||||
** 5.2: Screen activity
|
||||
|
||||
Normal messages from other users appear with the originating nickname
|
||||
in <angle brackets>. Private messages arrive with the originating
|
||||
nickname in *asterisks*.
|
||||
|
||||
Other output (e.g., /who commands, invitations from other users to
|
||||
join channels, and so forth) appears interspersed with other activity
|
||||
on the screen.
|
||||
|
||||
* 6: Command structure
|
||||
|
||||
Ordinary text typed at irc is sent as one's messages to everyone else
|
||||
on the same channel, modulo personal choices for private messages and
|
||||
the like. Commands to irc itself all begin with a command character,
|
||||
which is initially `/' but may be changed to any other character
|
||||
desired.
|
||||
|
||||
Commands may in general be abbreviated to a unique prefix.
|
||||
|
||||
** 6.1: Leaving irc
|
||||
|
||||
The way to get out of irc is to enter the /signoff command. "/si" is
|
||||
sufficient. Also equivalent are "/exit," "/bye," and perhaps "/quit"
|
||||
|
||||
** 6.2: Getting help
|
||||
|
||||
Type "/help." Follow the instructions.
|
||||
|
||||
** 6.3: User commands
|
||||
|
||||
Other commands supported by irc are:
|
||||
|
||||
help signoff who whois
|
||||
list topic join channel
|
||||
links msg invite summon
|
||||
users stats nick away
|
||||
info clear query
|
||||
date mode kick
|
||||
|
||||
*** 6.3.2: signoff
|
||||
|
||||
/signoff exits chat.
|
||||
|
||||
*** 6.3.3: who
|
||||
|
||||
/who returns information on who is using chat. /who without arguments
|
||||
prints info on all users that can be seen. Users of public channels
|
||||
show up with their channel identified. Users of secret channels
|
||||
appear, but they are specified as being on a private, unspecified
|
||||
channel. Users of hidden channels do not appear at all.
|
||||
|
||||
Giving a numeric argument to /who returns only those users of the
|
||||
specified channel. This still doesn't show users of secret or hidden
|
||||
channels unless one is actually on that channel.
|
||||
|
||||
*** 6.3.4: whois
|
||||
|
||||
This returns information about individual users. Say "/whois
|
||||
nickname" to get information on the login name and host from which the
|
||||
nicknamed user comes.
|
||||
|
||||
*** 6.3.5: topic
|
||||
|
||||
Channels can be given off-the-cuff "topics." Saying "/topic some
|
||||
string of text" will associate that topic with the current channel.
|
||||
|
||||
*** 6.3.6: list
|
||||
|
||||
/list will give lists of active channels, the number of users of each,
|
||||
and the topics therewith associated. Again, secret and hidden
|
||||
channels do not appear.
|
||||
|
||||
*** 6.3.7: join & channel
|
||||
|
||||
/join or /channel are the means to enter a channel. Give a numeric
|
||||
argument for the channel one wishes to enter. If this is a secret or
|
||||
hidden channel, /who commands will show oneself and any other users of
|
||||
one's channel.
|
||||
|
||||
One's arrival on a channel is announced to the rest of the users
|
||||
already on that channel. Silent, anonymous "lurking" is not
|
||||
supported.
|
||||
|
||||
*** 6.3.8: links
|
||||
|
||||
/links lists the currently-active set of chat servers. Beware: this
|
||||
list can be quite long, and will undoubtedly get longer as chat gains
|
||||
wider use. As of 22 March 1989, about 15-20 servers is typical.
|
||||
|
||||
*** 6.3.9: msg
|
||||
|
||||
A single message can be sent privately to a certain user with /msg.
|
||||
Type /msg nickname and the text to be sent. It will be sent privately
|
||||
to the indicated nickname.
|
||||
|
||||
*** 6.3.10: invite
|
||||
|
||||
If there is a user online to whom one wishes to speak, one may invite
|
||||
that user to join oneself on a certain channel. One types "/invite
|
||||
nickname" with an optional channel number. The receiving user gets a
|
||||
one-line message indicating the sender and the invitation. The
|
||||
receiving user is free to ignore the invitation, of course.
|
||||
|
||||
*** 6.3.11: summon
|
||||
|
||||
An extreme form of /invite is /summon. "/summon user@host" will
|
||||
request the user on the specified host to enter the chat system. Do
|
||||
not do this unless one is fairly sure that one's request will be
|
||||
welcome - it can be a fairly disturbing and sometimes irritating
|
||||
intrusion. In order for /summon to work, the specified host must be a
|
||||
connected chat server - one can't summon random people from around the
|
||||
Internet.
|
||||
|
||||
*** 6.3.12: users
|
||||
|
||||
/users will return a list of the users logged into one's system. With
|
||||
an optional hostname identifying a chat server host, the users logged
|
||||
into that system will be listed.
|
||||
|
||||
*** 6.3.13: stats
|
||||
|
||||
This command returns counts of various protocol operations of one's
|
||||
chat server. It is neither particularly useful nor interesting; it
|
||||
was, at one time, a debugging aid.
|
||||
|
||||
*** 6.3.14: nick
|
||||
|
||||
One can change nicknames by issuing "/nick new-nickname." All users
|
||||
on one's channel will be advised of the change. NOTE: If one enters
|
||||
chat with a nickname clash (e.g., one's login name is the same as
|
||||
someone else's, and the other user got there first), the system will
|
||||
not let one enter until one issues a /nick command with a unique
|
||||
nickname.
|
||||
|
||||
*** 6.3.15: away
|
||||
|
||||
Sometimes, one wishes to remain connected to the chat system, but one
|
||||
must be elsewhere for a while. One can issue an /away command with
|
||||
arbitrary text as argument, which will mark oneself as being away. If
|
||||
someone sends an away'd user a private message (via /msg or in a
|
||||
private session set up via /query; see below), the sender will get a
|
||||
message back from the server indicating the away-ness and the message
|
||||
which was set.
|
||||
|
||||
*** 6.3.16: info
|
||||
|
||||
/info returns information regarding the author and copyright of the
|
||||
chat system.
|
||||
|
||||
*** 6.3.17: clear
|
||||
|
||||
At times, one wishes that one's screen weren't so cluttered. /clear
|
||||
makes it so.
|
||||
|
||||
*** 6.3.18: query
|
||||
|
||||
This command is used to set up private communications `outside' the
|
||||
normal channel system.
|
||||
|
||||
When one enters "/query nickname," the indicated nickname is set up as
|
||||
the sole recipient of anything which one types thereafter. Thus, if
|
||||
user A executes "/query B" and user B executes "/query A," they have
|
||||
set up a private communication between themselves. Significantly, it
|
||||
remains possible for them to stay on their respective channels, which
|
||||
need not be the same, and listen to whatever conversation is going on
|
||||
around them as well, though they cannot respond to that ambient
|
||||
conversation without leaving the private conversation they have set up.
|
||||
|
||||
One leaves this private mode by issuing /query without arguments.
|
||||
|
||||
** 6.4: Operator commands
|
||||
|
||||
The chat system administrators on each host have additional
|
||||
responsibilities and power over the configuration and operation of the
|
||||
servers. The commands to do so are delineated below.
|
||||
|
||||
*** 6.4.1: oper
|
||||
|
||||
Users who have the potential for operator privileges initially invoke
|
||||
those privileges by "/oper nickname password," where nickname is the
|
||||
nickname under which operation is intended, and password is the
|
||||
password known to the chat system for that nickname.
|
||||
|
||||
*** 6.4.2: kill
|
||||
|
||||
Obnoxious users had best beware the operator who's fast on the /kill
|
||||
command. "/kill nickname" blows any given nickname completely out of
|
||||
the chat system.
|
||||
|
||||
Obnoxiousness is not to be tolerated. But operators do not use /kill
|
||||
lightly.
|
||||
|
||||
* 7: Questions, problems, troubles?
|
||||
|
||||
Write mail to local irc coordinator.
|
||||
18
rxirc.$package
Normal file
18
rxirc.$package
Normal file
@@ -0,0 +1,18 @@
|
||||
*
|
||||
* This file contains the definition of the RXIRC package.
|
||||
*
|
||||
* Filename Filetype
|
||||
* -------- --------
|
||||
RXIRC $PACKAGE recursion!
|
||||
RXIRC EXEC the client program
|
||||
RXIRC NAMES the installation defaults file
|
||||
RXIRC INSTALL little installation readme
|
||||
RXIRC HELPMENU the documentation
|
||||
ACTION HELPIRC about the set of action commands
|
||||
CUSTOM HELPIRC how to customize
|
||||
ETIQ HELPIRC irc etiquette (from unix irc distribution)
|
||||
FAQ HELPIRC frequently asked questions
|
||||
MANUAL HELPIRC irc manual (from unix irc dist)
|
||||
SPECIAL HELPIRC rxIRC specific extra commands
|
||||
SYNTAX HELPIRC command line usage and options
|
||||
SETENV EXEC unixlike globalv utility
|
||||
461
rxirc.exec
Normal file
461
rxirc.exec
Normal file
@@ -0,0 +1,461 @@
|
||||
/* rxIRC
|
||||
* Internet Relay Chat client program for VM/CMS systems
|
||||
* created by Lynx (244661 at DOLUNI1) on Thursday, 14 Feb 1991
|
||||
* last change by Lynx (244661 at DOLUNI1) on Friday, 10 Jan 1992
|
||||
* Version 1.3 (using PREXX)
|
||||
* Code contributions/suggestions by: Doug Sewell
|
||||
*
|
||||
* requires REXTCPIP MODULE by Ken Hornstein (kxh105@psuvm.bitnet)
|
||||
* available from LISTSERVs carrying the VM-UTIL list
|
||||
*
|
||||
* Copyright (C)1991 by Carlo v. Loesch and Uni Oldenburg, Germany
|
||||
* All rights reserved. No guarantees implied. ("AS IS" etc.)
|
||||
* No distribution of modified copies permitted, pls send changes to me.
|
||||
*/ vers='1.3'
|
||||
cmds='AWAY AWAIT ADMIN CHANNEL CONNECT DEOPER DIE GRPH HASH INVITE',
|
||||
'INFO ISON JOIN NICK KILL LIST LINKS LUSERS MODE MAIL MOTD NAMES',
|
||||
'NICK NOTICE NOTE OPER PASS PART REHASH RESTART QUIT SERVICE SQUIT',
|
||||
'SUMMON STATS TOPIC TIME TRACE USERS USERHOST VOICE VERSION WHOIS',
|
||||
'WHOWAS WALLOPS WALL XTRA'
|
||||
log=0; query=; ignore=; lastsender=; onoff.1="on"; onoff.0="off"
|
||||
cmdchar=; userinfo=; profile="IRC PROFILE *"; target=time('R')
|
||||
invitation=; writelog = "EXECIO 1 DISKW IRC LOG A0 (STRI"
|
||||
tcprc=0; msa=d2c(1); realname=; c=0
|
||||
ignore_reply = "Your messages are not being received."
|
||||
address "COMMAND"; trace 'O'
|
||||
"IDENTIFY (LIFO"
|
||||
pull me . mynode . via .
|
||||
|
||||
"REXTCPIP" /* oh how i still love this command */
|
||||
if rc^=0 then call BYE "REXTCPIP MODULE returning" rc
|
||||
|
||||
"NAMEF :NICK RXIRC :SERVER :PORT :TIMEOUT :LOGGING :QUIET_IGNORE",
|
||||
":HILIGHTCHAR :BEEPCHAR :LOUD_BEEPS :SHOW_NUMBERS :LIST_ALL",
|
||||
"(LIFO FILE RXIRC"
|
||||
if rc^=0 then call BYE "missing or unreadable RXIRC NAMES file"
|
||||
pull def_listall; pull def_numb; pull def_loud; parse pull beep
|
||||
parse pull hilight; pull def_quiet; pull def_log
|
||||
parse pull timeout; parse pull def_port; parse pull def_server
|
||||
"GLOBALV SELECT CENV GET IRCNICK IRCSERVER IRCNAME IRCPORT"
|
||||
|
||||
"NAMEFIND :USERID" me ":NICK :NAME :MOTTO :CMDCHAR :IRCNICK :IRCNAME",
|
||||
"(LIFO"
|
||||
if rc=0 then do
|
||||
parse pull name; parse pull nick
|
||||
if ircnick="" then ircnick=nick
|
||||
if ircname="" then ircname=name
|
||||
parse pull cmdchar; parse pull userinfo
|
||||
parse pull realname; parse pull nick
|
||||
if ircnick="" then ircnick=nick
|
||||
if ircname="" then ircname=realname
|
||||
end
|
||||
|
||||
parse arg nick server name '('o; upper o
|
||||
if nick^='' then ircnick = nick
|
||||
if ircnick='' then ircnick=me
|
||||
capnick = translate(ircnick)
|
||||
if server^='' then ircserver=server
|
||||
else if ircserver='' then ircserver=def_server
|
||||
if name^='' then ircname = name
|
||||
if ircname='' then ircname=me "at" mynode".bitnet"
|
||||
if cmdchar="" then cmdchar="/"
|
||||
do while o^=""
|
||||
parse var o opt o
|
||||
select
|
||||
when abbrev("PORT", opt, 1) then parse var o ircport o
|
||||
when abbrev("LIST_ALL", opt, 2) then parse var o def_listall o
|
||||
when abbrev("LOGGING", opt, 1) then parse var o def_log o
|
||||
when abbrev("LOUD_BEEPS", opt, 3) then parse var o def_loud o
|
||||
when abbrev("NUMBERS", opt, 1) then parse var o def_numb o
|
||||
when abbrev("QUIET_IGNORE", opt, 1) then parse var o def_quiet o
|
||||
when abbrev("TIMEOUT", opt, 1) then parse var o timeout o
|
||||
otherwise call BYE "Unknown option" opt
|
||||
end
|
||||
end
|
||||
if ircport='' then ircport=def_port
|
||||
if timeout="" then timeout=25
|
||||
if def_listall="ON" then listall=1; else listall=0
|
||||
if def_log="ON" then log=1; else log=0
|
||||
if def_loud="ON" then loud=1; else loud=0
|
||||
if def_numb="ON" then numb=1; else numb=0
|
||||
if def_quiet="ON" then quiet=1; else quiet=0
|
||||
if log then writelog "* IRC Session started on" date() "at" time()
|
||||
if datatype(left(ircnick,1))='NUM' then ircnick='u'ircnick
|
||||
"IMMCMD SET HI"
|
||||
if userinfo="" then userinfo="- no info given by user -"
|
||||
|
||||
"VMFCLEAR"
|
||||
call OUT "rxIRC v"vers "- You are" ircnick "("ircname")"
|
||||
call OUT "Logging is" onoff.log"; Loud beeps are",
|
||||
onoff.loud"; Quiet ignore is" onoff.quiet
|
||||
call CONNECT ircserver
|
||||
say copies("-",79)
|
||||
"CP TERM LINEND OFF"
|
||||
"CP TERM CHARDEL OFF"
|
||||
|
||||
do forever
|
||||
"IMMCMD STATUS HI"
|
||||
if rc^=0 then call EDIT "hi"
|
||||
if c^=0 then do
|
||||
TCPRECEIVE(c, "WAITKB", "EXPAND")
|
||||
select
|
||||
when tcprc=0 then do i=1 to tcpline.0
|
||||
call OUT PARSE(tcpline.i)
|
||||
end
|
||||
when tcprc=25 then do externals()
|
||||
parse external ext; call CONS ext; ext=time('R')
|
||||
end
|
||||
when tcprc=12 then do; c=0; call CLOSE "Oops"; end
|
||||
when tcprc=18|tcprc=20 then call CLOSE
|
||||
when tcprc=0|tcprc=8|tcprc=9 then nop
|
||||
otherwise
|
||||
call CLOSE "Unknown error" tcprc "from REXTCPIP"
|
||||
end
|
||||
end
|
||||
end
|
||||
call BYE "Murphy's Law"
|
||||
|
||||
CONS:
|
||||
parse arg keys
|
||||
call EDIT keys
|
||||
if out^="" then TCPSEND(c, out)
|
||||
return
|
||||
|
||||
PARSE:
|
||||
parse arg a
|
||||
if loud & pos(x2c(2f),a)^=0 then "BEEP"
|
||||
b=; a=translate(a,hilight||beep||"_",d2c(2)x2c(2f)x2c(32))
|
||||
if left(a,1)=':' then do
|
||||
parse var a ':'s m e f ':'g
|
||||
parse var s s'!'sad
|
||||
end
|
||||
else do; s=''; parse var a m e f ':'g; end
|
||||
f=strip(f)
|
||||
select
|
||||
when m='CHANNEL' then if e="0"
|
||||
then b='***' s 'leaves this channel'
|
||||
else b='***' s 'joins this channel'
|
||||
when m='INVITE' then do
|
||||
invitation = f
|
||||
b='***' s 'invites you to channel' f; end
|
||||
when m='JOIN' then do
|
||||
b='***' s 'joins channel' e
|
||||
if s=ircnick then target=word(e,1)
|
||||
end
|
||||
when m='KICK' then b='***' s 'kicks' f 'off channel' e
|
||||
when m='KILL' then b='*** You were killed by' s subword(g,2)
|
||||
when m='MODE' then b='*** Mode change:' s 'sets' e f
|
||||
when m='MSG' then b='<'s'>' g
|
||||
when m='NICK' then b='***' s 'is now known as' e
|
||||
when m='NOTICE' then select
|
||||
when s='' then b=g
|
||||
when translate(e)=capnick then do
|
||||
if find(ignore,translate(s))^=0 then do
|
||||
return ''; end
|
||||
else do; b='-'s'-' g
|
||||
lastsender=s
|
||||
end
|
||||
end
|
||||
when left(e,1)='+'|left(e,1)='-'|datatype(left(e,1))='NUM' then b=s g
|
||||
otherwise b='-'s':'e'-' g; end
|
||||
when m='PART' then b='***' s 'parts channel' e
|
||||
when m='PING' then TCPSEND(c, "PONG :"ircnick)
|
||||
when m='PRIVMSG' then select
|
||||
when translate(e)=capnick then do
|
||||
if find(ignore,translate(s))^=0 then do
|
||||
if ^quiet then TCPSEND(c, 'NOTICE' s ':'ignore_reply)
|
||||
return ''; end
|
||||
else do
|
||||
if CTCP(1 g) then b='*'s'*' g
|
||||
lastsender=s
|
||||
end
|
||||
end
|
||||
when e=target|left(e,1)='+'|left(e,1)='-'|datatype(left(e,1))='NUM'
|
||||
then if CTCP(0 g) then b='<'s'>' g
|
||||
otherwise if CTCP(0 g) then b='<'s':'e'>' g; end
|
||||
when m='QUIT' then b='*** Signoff:' s '('g')'
|
||||
when m='TOPIC' then b='***' s 'sets the topic to:' g
|
||||
when m='WALLOPS' then b='*** Wallops from' s':' g
|
||||
when m='WALL' then b='*** Broadcast from' s':' g
|
||||
when m='301' then b=f 'is away:' g
|
||||
when m='311' then do
|
||||
parse var f ni ui no .
|
||||
b=ni 'is' ui'@'no '('g')'
|
||||
end
|
||||
when m='314' then do; parse var f ni ui no .
|
||||
b=ni 'was' ui'@'no '('g')'; end
|
||||
when m='312' then b='via server' f '('g')'
|
||||
when m='319' then b='on channels:' g
|
||||
when m='317' then b='and has been idle' word(f,2) 'seconds'
|
||||
when m='322' then do
|
||||
parse var f ch n
|
||||
if listall | g^="" | n>2 then
|
||||
b=left(ch,13) left(n,4)g
|
||||
else return ''
|
||||
end
|
||||
when m='324' then b='*** The mode on channel' word(f,1) 'is' word(f,2)
|
||||
when m='332' then b='*** The topic is:' g
|
||||
when m='341' then b='*** Inviting' word(f,1) 'to channel' word(f,2)
|
||||
when m='353' then b=left(word(f,2),10) g
|
||||
when m='NAMREPLY' then do
|
||||
parse var f na ni; b=left(na,10) ni; end
|
||||
when m='WHOREPLY'|m='352' then do
|
||||
if m='352' then parse var f . us no . ni st .
|
||||
else parse var f us no . ni st .
|
||||
b=left(st,3)left(ni,10)left(us"@"no,31) g
|
||||
end
|
||||
when m='313'|m='364'|m='LINREPLY' then b=f g
|
||||
when m='315'|m='318'|m='321'|m='323'|m='365'|m='366'|m='406'
|
||||
then nop
|
||||
otherwise select
|
||||
when g="" then b=f
|
||||
when f=""|f=s then b=g
|
||||
otherwise b=f":" g
|
||||
end
|
||||
if s^="" then b='('s')' b
|
||||
if numb then b=m b
|
||||
end
|
||||
return translate(b,"@",msa)
|
||||
|
||||
EDIT:
|
||||
out=; parse arg in
|
||||
if in='' then nop
|
||||
else if left(in,1)="!" then do
|
||||
address CMS substr(in,2); say "rxIRC ready("rc");"; end
|
||||
else if left(in,1)^=cmdchar then do
|
||||
if query='' then out='PRIVMSG' target ':'in
|
||||
else out='PRIVMSG' query ':'in
|
||||
end
|
||||
else if left(in,2)=cmdchar' ' then do
|
||||
parse var in 3 r; out='MSG :'r
|
||||
end
|
||||
else do; parse var in 2 q r; upper q
|
||||
select
|
||||
when q=''|q='SAY' then out='PRIVMSG' target ':'r
|
||||
when left(q,1)='*' then return
|
||||
when abbrev('ABORT',q,2) then call BYE "user abort request"
|
||||
when abbrev('BYE',q,1)|abbrev('SIGNOFF',q,1) then
|
||||
do; TCPSEND(c, 'QUIT'); TCPCLOSE(c); call BYE; end
|
||||
when abbrev('CHANNEL',q,1) then do
|
||||
if r="" then do; call OUT "* Talking to" target; return; end
|
||||
if target^="" then TCPSEND(c, "PART" target);
|
||||
out="JOIN" r
|
||||
end
|
||||
when abbrev('CLEAR',q,2) then "VMFCLEAR"
|
||||
when abbrev('CMDCHARACTER',q,2) then cmdchar=left(r,1)
|
||||
when abbrev('EXECUTE',q,1) then do
|
||||
address 'CMS' r; say "rxIRC ready("rc");"; end
|
||||
when abbrev('FOLLOW',q,1) then out='JOIN' invitation
|
||||
when abbrev('HELP',q,1) then do
|
||||
address CMS "HELP RXIRC"; say; end
|
||||
when abbrev('LOGGING',q,2) then call LOGGING r
|
||||
when abbrev('NICKNAME',q,2) then if r='' then out='WHOIS' nick
|
||||
else do; out='NICK' r; ircnick=r; capnick=translate(r); end
|
||||
when abbrev('REPLY',q,1) then call QUERY lastsender
|
||||
when abbrev('SERVER',q,3) then call CONNECT r
|
||||
when abbrev('STATUS',q,2) then do; out='WHOIS' ircnick
|
||||
call OUT '* Target:' target'; Query:' query'; Invitation:' invitation'; Last sender:' lastsender
|
||||
end
|
||||
when abbrev('TALKTO',q,2) then do
|
||||
if r^="" then target=word(r,1)
|
||||
call OUT '* Now talking to' target
|
||||
end
|
||||
when abbrev('VERSION',q,3) then do; out='VERSION'
|
||||
call OUT '* rxIRC v'vers 'written by the lynx (lynx@dm.unirm1.it)'
|
||||
end
|
||||
when abbrev('XAMINE',q,1) then out='WHOIS' lastsender
|
||||
when abbrev('DATE',q,1) then out="TIME" r
|
||||
when abbrev('DESCRIBE',q,2) then do; parse var r whom desc
|
||||
out='PRIVMSG' whom ':'msa'ACTION' desc||msa; end
|
||||
when abbrev('IGNORE',q,2) then call IGNORE r
|
||||
when abbrev('MSG',q,1)|abbrev('MESSAGE',q,3) then out='PRIVMSG' r
|
||||
when abbrev('QUERY',q,1) then call QUERY r
|
||||
when abbrev('REQUEST',q,3)|q='CTCP' then do
|
||||
parse var r ni rq .; upper rq
|
||||
if ni="" then ni=capnick
|
||||
if rq="" then rq="VERSION"
|
||||
out='PRIVMSG' ni ':'msa||rq||msa
|
||||
end
|
||||
when q='WHO' then if r="" then out='WHO' target
|
||||
else out='WHO' r
|
||||
when abbrev('TCPIPSTATUS',q,3) then do; CONNSTAT(c)
|
||||
call OUT '*' local_addr'!'local_port '->' foreign_addr'!'foreign_port,
|
||||
conn_stat '(BU:'bytes_to_read', UB:'unacked_bytes')'
|
||||
end
|
||||
otherwise if ACTION(q r) then do
|
||||
call OUT ircnick r
|
||||
if query="" then out='PRIVMSG' target ':'msa'ACTION' r||msa
|
||||
else out='PRIVMSG' query ':'msa'ACTION' r||msa
|
||||
end
|
||||
else do
|
||||
li=cmds; out=q r
|
||||
do while li^=''; parse var li el li
|
||||
if abbrev(el,q,1) then do; out=el r; leave; end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
out=translate(out,x2c(2f),beep)
|
||||
return out
|
||||
|
||||
IGNORE:
|
||||
arg a
|
||||
do words(a)
|
||||
parse var a ig a
|
||||
z=find(ignore,ig); if z^=0 then
|
||||
ignore=strip(delword(ignore,z,1))
|
||||
else ignore=ig ignore
|
||||
end
|
||||
call OUT 'You are ignoring:' ignore
|
||||
if quiet then say "And you don't send notices about it (quiet ignore)."
|
||||
return
|
||||
|
||||
QUERY:
|
||||
parse arg qq
|
||||
if query^='' then call OUT '* Terminating query with' query
|
||||
query=qq
|
||||
if qq^='' then call OUT '* Starting a query with' qq
|
||||
else call OUT '* Talking to' target
|
||||
return
|
||||
|
||||
|
||||
LOGGING:
|
||||
arg a
|
||||
if a='ON' & log=0 then do
|
||||
writelog "IRC Log started on" date() "at" time()
|
||||
say '* Logging started.'; log=1; end
|
||||
else if a='OFF' & log=1 then do
|
||||
writelog "IRC Log ended on" date() "at" time()
|
||||
say '* Logging ended.'; log=0; end
|
||||
else say '* Logging is' onoff.log
|
||||
return
|
||||
|
||||
OUT:
|
||||
parse arg x
|
||||
if x="" then return
|
||||
if length(x) < 81 then q=0
|
||||
else do 1
|
||||
q=pos(word(x,2),x)-1; if q>30 then q=0
|
||||
p=lastpos(" ",x,80)
|
||||
if p<40 then do; q=0; leave; end
|
||||
b=left(x,p); x=substr(x,p+1)
|
||||
say b; if log then writelog b
|
||||
do while length(x)+q > 80
|
||||
p=lastpos(" ",x,80-q); if p<40 then leave
|
||||
b=copies(" ",q)left(x,p); x=substr(x,p+1)
|
||||
say b; if log then writelog b
|
||||
end
|
||||
end
|
||||
x=copies(" ",q)x; say x; if log then writelog x
|
||||
return
|
||||
|
||||
CONNECT:
|
||||
parse arg ircserver port time .
|
||||
if ircserver="" then do
|
||||
call OUT "* Provide an internet server address as arguement"
|
||||
return
|
||||
end
|
||||
if datatype(port)="NUM" then ircport = port
|
||||
if datatype(time)="NUM" then timeout = time
|
||||
if c ^= 0 then do
|
||||
TCPSEND(c, "QUIT"); TCPCLOSE(c); "CP SLEEP 3 SEC"; end
|
||||
if (datatype(left(ircserver,1))^="NUM") then do
|
||||
say "Resolving domain name address" ircserver
|
||||
ircserver = GETIPADDR(ircserver)
|
||||
if tcprc^=0 then call BYE "unresolvable address" ircserver
|
||||
end
|
||||
say "Connecting to" ircserver "on port" ircport", timeout after" timeout "seconds"
|
||||
c = TCPOPEN(ircserver, ircport, timeout)
|
||||
select
|
||||
when tcprc=6 then call CLOSE "Host not responding within time"
|
||||
when tcprc=8 then call CLOSE "No server running on port" ircport
|
||||
when tcprc^=0 & tcprc^=2004 then
|
||||
call CLOSE "Unknown error" tcprc "while trying to connect"
|
||||
when c=0 then call CLOSE "Have no connection!"
|
||||
otherwise
|
||||
TCPSEND(c, "NICK" ircnick)
|
||||
TCPSEND(c, "USER" me mynode "." ircname)
|
||||
"STATE" profile
|
||||
if rc=0 then do
|
||||
"EXECIO * DISKR" profile "(FINIS STEM IN."
|
||||
do i=1 to in.0
|
||||
call EDIT in.i
|
||||
if out^="" then TCPSEND(c, out)
|
||||
end
|
||||
end
|
||||
end
|
||||
return
|
||||
|
||||
|
||||
CTCP:
|
||||
parse arg fla bla
|
||||
if pos(msa,bla)=0 then return 1
|
||||
bla=translate(bla,'\',d2c(1))
|
||||
parse var bla . '\' ctcp bla '\' .
|
||||
select
|
||||
when ctcp="ACTION" then call OUT s bla
|
||||
when ctcp="CLIENTINFO" then
|
||||
call MSAREPLY "CLIENTINFO ACTION CLIENTINFO FINGER VERSION USERINFO"
|
||||
when ctcp="FINGER" then
|
||||
call MSAREPLY "FINGER" realname '('me'@'mynode'.bitnet) - Idle time is',
|
||||
time('E')
|
||||
when ctcp="VERSION" then
|
||||
call MSAREPLY "VERSION rxIRC v"vers "VM/CMS",
|
||||
":The best you can get for VM/CMS systems..."
|
||||
when ctcp="USERINFO" then
|
||||
call MSAREPLY "USERINFO" userinfo
|
||||
otherwise if fla=1 then
|
||||
call MSAREPLY "ERRMSG Huh? Can't do" ctcp
|
||||
end
|
||||
return 0
|
||||
|
||||
MSAREPLY:
|
||||
parse arg lyrics
|
||||
TCPSEND(c, "NOTICE" s ":"msa||lyrics||msa)
|
||||
return
|
||||
|
||||
CLOSE:
|
||||
parse arg culprit
|
||||
if c^=0 then do
|
||||
TCPCLOSE(c); c=0
|
||||
end
|
||||
call BYE culprit
|
||||
return
|
||||
|
||||
BYE:
|
||||
parse arg culprit
|
||||
if culprit^= "" then say "Terminating:" culprit" (tcprc:" tcprc")"
|
||||
if log then do
|
||||
writelog "IRC Session ended on" date() "at" time()
|
||||
"FINIS * * *"
|
||||
end
|
||||
"IMMCMD CLEAR HI"
|
||||
"NUCXDROP REXTCPIP"
|
||||
/* "CP TERM CHARDEL @" -- do you need this one? let me know */
|
||||
"CP TERM LINEND #"
|
||||
exit tcprc
|
||||
|
||||
ACTION:
|
||||
parse arg q r
|
||||
select
|
||||
when q="BOW" then a="bows gracefully"
|
||||
when q="COMFORT" then a="comforts you"
|
||||
when q="CUDDLE" then a="cuddles you"
|
||||
when q="DANCE" then a="dances a waltz with you"
|
||||
when q="GIGGLE" then a="giggles inanely"
|
||||
when q="GRIN" then a="grins evilly"
|
||||
when q="HUG" then a="hugs you"
|
||||
when q="LAUGH" then a="falls down laughing"
|
||||
when q="ME"|abbrev("EMOTE",q,1) then return 1
|
||||
when q="NOD" then a="nods solemnly"
|
||||
when q="SHRUG" then a="shrugs helplessly"
|
||||
when q="SIGH" then a="sighs deeply"
|
||||
when abbrev("SMILE",q,2) then a="smiles happily"
|
||||
when abbrev("THANK",q,2) then a="thanks you from the bottom of the heart"
|
||||
when q="WAVE" then a="waves goodbye to you"
|
||||
when q="WINK" then a="winks suggestively"
|
||||
when q="YAWN" then a="yawns tiredly"
|
||||
otherwise return 0; end
|
||||
if r="" then r=a'.'
|
||||
else r=word(a,1) r'.'
|
||||
return 1
|
||||
20
rxirc.helpmenu
Normal file
20
rxirc.helpmenu
Normal file
@@ -0,0 +1,20 @@
|
||||
.cm last change by lynx.
|
||||
.mt IRC
|
||||
|
||||
rxIRC v1.3
|
||||
|
||||
Internet Relay Chat client program for VM/CMS systems
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Written by Carl 'lynX' v. Loesch
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
Move the cursor onto a topic and press ENTER.
|
||||
|
||||
|
||||
MANUAL General Overview about IRC
|
||||
ETIQ The IRC Netiquette - How to behave on IRC
|
||||
|
||||
SYNTAX Usage format of rxIRC
|
||||
SPECIAL Special commands you can only issue from rxIRC
|
||||
ACTION A set of commands to let you express virtual actions
|
||||
CUSTOM How to customize your rxIRC
|
||||
FAQ Frequently asked questions about rxIRC
|
||||
21
rxirc.install
Normal file
21
rxirc.install
Normal file
@@ -0,0 +1,21 @@
|
||||
rxIRC Installation Guide
|
||||
========================
|
||||
|
||||
To run rxIRC you need:
|
||||
REXTCPIP which is available from your nearest VM-UTIL - LISTSERV.
|
||||
For example by doing "tell listserv at dearn get rextcpip module".
|
||||
Otherwise you might request it by mail to Ken (KXH105 at PSUVM),
|
||||
but I'm not sure, if he'd be happy about it.
|
||||
|
||||
Before you start rxIRC you should:
|
||||
Edit the RXIRC NAMES file which contains all the default values for
|
||||
rxIRC. Most important: the address of your default server!
|
||||
|
||||
If you have any problems/improvements/suggestions/etc. send mail to me.
|
||||
Also if you want to be informed of future rxIRC releases, and you do
|
||||
not read alt.irc or operlist or VM-UTIL or dnet.chat or comp.archives.
|
||||
|
||||
Ciao -lynx
|
||||
o----------------------------------------------------------------------o
|
||||
| Carlo "Lynx" v. Loesch is loesch@informatik.uni-oldenburg.de |
|
||||
| ----------------------- or 244661 at DOLUNI1.bitnet / .earn |
|
||||
21
rxirc.names
Normal file
21
rxirc.names
Normal file
@@ -0,0 +1,21 @@
|
||||
* RXIRC NAMES
|
||||
* contains installationwide defaults for rxIRC
|
||||
:nick.rxIRC
|
||||
*
|
||||
* insert the network address of a server near to you into here
|
||||
*
|
||||
:server.arbi.informatik.uni-oldenburg.de
|
||||
*
|
||||
* some preferences.. you can look into this later on, see also the helpfile *
|
||||
:logging.off
|
||||
:quiet_ignore.off
|
||||
:loud_beeps.off
|
||||
:show_numbers.off
|
||||
:list_all.off
|
||||
:beepchar.~
|
||||
:hilightchar.%
|
||||
*
|
||||
* no change should be necessary here
|
||||
*
|
||||
:port.6667
|
||||
:timeout.20
|
||||
13
setenv.exec
Normal file
13
setenv.exec
Normal file
@@ -0,0 +1,13 @@
|
||||
/* SETENV EXEC
|
||||
* Set an environment variable for C programs to access
|
||||
* last change by Lynx_VM (244661 at DOLUNI1) on Sunday, 12 May 1991
|
||||
*/
|
||||
address 'COMMAND'
|
||||
parse arg n c; upper n
|
||||
if n="" then
|
||||
'GLOBALV SELECT CENV LIST'
|
||||
else if c="" then
|
||||
'GLOBALV SELECT CENV LIST' n
|
||||
else
|
||||
'GLOBALV SELECT CENV SET' n c
|
||||
exit rc
|
||||
95
special.helpirc
Normal file
95
special.helpirc
Normal file
@@ -0,0 +1,95 @@
|
||||
.cm last change by lynx -- january, 1992
|
||||
|
||||
_______
|
||||
*|^^^^^^^|* The Internet Relay Chat program
|
||||
*| rxIRC |* for VM/CMS systems written in
|
||||
*|_______|* RexX by Carl "lynx" v. Loesch.
|
||||
^^^^^^^
|
||||
|
||||
Special commands of this IRC client program:
|
||||
|
||||
/ABort
|
||||
You may leave your session non-caring about the status of your TCPIP
|
||||
connection. Use this only when you can't get out with /bye.
|
||||
|
||||
/Channel <new channel>
|
||||
This command will automatically /part you from your previous channel
|
||||
before joining this new channel. If you don't want to get confused
|
||||
by multiple channels, better always use this command instead of /join.
|
||||
Without argument it will tell you what channel you are on.
|
||||
|
||||
/CLear
|
||||
Clear the screen.
|
||||
|
||||
/CMdchar <character>
|
||||
Use an other character than '/' to introduce commands.
|
||||
|
||||
/Execute <command> or more easily just: !<command>
|
||||
You may execute CMS commands with this, but remember not to stay too
|
||||
long outside IRC or the IRC-server might close the connection.
|
||||
|
||||
/Follow
|
||||
If you have just been invited to a channel this is an easier way to
|
||||
join it. rxIRC will remember the name of the channel for you.
|
||||
|
||||
/IGnore [<nickname> <more nicknames>]
|
||||
If you don't want to receive a person's messages, you can use /ignore
|
||||
on him. Use it again to remove the /ignore. Without arguments you
|
||||
get the list of people being ignored by you. The ignore function
|
||||
captures both /msg's and /notice's from the specified person. It
|
||||
sends a notice back to the sender telling him that you are not
|
||||
receiving his messages unless you specify it to be silent with
|
||||
the startup option "(Quiet".
|
||||
|
||||
/LOgging [ON | OFF]
|
||||
You can switch the logging on and off. That means you get a transcription
|
||||
of your IRC session into the file IRC LOG A0 on disk.
|
||||
|
||||
/Query [ <nickname> | <channel> ]
|
||||
You can get into a dialogue mode with a person, all lines you type are
|
||||
sent as private message to this person. If you want to talk onto a
|
||||
channel you might be on at the same time you can do "/ <text>" without
|
||||
leaving the /query. To leave the /query use /query without arguments.
|
||||
If you want to use #-type channels you need to /query those, too.
|
||||
|
||||
/Reply
|
||||
This is a shortcut to get into a /query with the person that last sent
|
||||
you a message.
|
||||
|
||||
/Request <nickname> | <channel>
|
||||
Send a CTCP (Client To Client Protocol) Version Request to a person
|
||||
or a whole Channel. IRC program that have this implemented will
|
||||
automatically respond as does rxIRC when it gets such a request.
|
||||
|
||||
/SErver <address> [ <port> [ <timeout> ] ]
|
||||
Switch to another IRC server. rxIRC will exit if the server does not
|
||||
respond.
|
||||
|
||||
/STatus
|
||||
This outputs some of rxIRC's variables, tells you what channel you are
|
||||
talking to (Target), what query, where you got invited to last and who
|
||||
last sent a message to you.
|
||||
It also shows a /whois of yourself.
|
||||
|
||||
/TAlkto <new target>
|
||||
This is the ONLY command to allow you to switch to another channel when
|
||||
you are on multiple channels! You can NOT use /join for that.
|
||||
However this command is even more flexible, you can use it with a nickname,
|
||||
then all you type is sent to that person, just like /query. The difference
|
||||
is: You can overlay two dialogues, by having two people in /talkto and
|
||||
/query, then talk to the queried directly and to the other with the '/ '
|
||||
command.
|
||||
|
||||
/TCPipstatus
|
||||
Gives a brief not very useful information about your TCPIP status.
|
||||
|
||||
/WHO
|
||||
The /who command can now be used without arguements, if you are talking
|
||||
to a channel, it will show you the WHO list of that channel.
|
||||
|
||||
/Xamine
|
||||
Quicky to get a /whois of the person that lest sent you a message.
|
||||
|
||||
/* <remark> [ */ ]
|
||||
With this you can add RexX-style comments in your IRC PROFILE.
|
||||
Lines beginning with /* are skipped.
|
||||
27
syntax.helpirc
Normal file
27
syntax.helpirc
Normal file
@@ -0,0 +1,27 @@
|
||||
.cm last change by lynx -- april 25, 1991
|
||||
|
||||
_______
|
||||
*|^^^^^^^|* The Internet Relay Chat program
|
||||
*| rxIRC |* for VM/CMS systems written in
|
||||
*|_______|* RexX by Carl "lynx" v. Loesch.
|
||||
^^^^^^^
|
||||
|
||||
Usage from CMS:
|
||||
|
||||
RXIRC [<nickname> [<server>] [<full name>]]] [ ( <options> ]
|
||||
|
||||
|
||||
Options:
|
||||
|
||||
Port <port-number> IRC usually runs on port 6667, here you might
|
||||
set another.. but you might not find a server
|
||||
on an other port...
|
||||
LIst_all {ON | OFF} Show also channels without topic with /list.
|
||||
Logging {ON | OFF} You may start the logging from the command line.
|
||||
LOUd {ON | OFF} This defines if an external 'BEEP' module should
|
||||
be called whenever you receive an IRC beep.
|
||||
Numbers {ON | OFF} Shows the numbers of IRC server replies.
|
||||
Quiet {ON | OFF} If you want to use the quiet ignoring.
|
||||
Timeout <seconds> The time to wait before giving up trying to connect
|
||||
the server.
|
||||
|
||||
Reference in New Issue
Block a user