home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
com
/
utils
/
msg
/
msg.doc
< prev
next >
Wrap
Text File
|
1989-11-05
|
26KB
|
521 lines
+----------------------+
| "Why anybody would |
| name a program after |
| a food additive is |
| beyond me..." |
| -Bryny |
+----------------------+
MSG
---
Copyright 1986-1989
by Ron Bemis - Node 124/1113
MSG is a program that allows you to read, reply, enter, and modify FidoNet
messages. It has proven especially useful for point operators, because it
is much smaller than other message readers, and it gets all of its needed
information from AREAS.BBS and CONFIG.DOG, and does not rely on SYSTEM*.BBS
files.
MSG works much like FIDO or OPUS. You can invoke it with a chain of
commands separated by spaces, and you can type a chain of commands at any of
the program's prompts. The program always starts in your mail area.
ENVIRONMENT VARIABLES USED BY MSG
---------------------------------
BBS - your root Fido/Opus directory; the place you keep your AREAS.BBS,
CONFIG.DOG, FIDOUSER.LST, and USERLIST.DOG files. If not defined, these
files must be in the current directory.
MSGED - your favorite text editor. Provided it's in your path, you don't
need to specify the path or extension. If not defined, your editor will
default to EDLIN (probably not what you want).
EXAMPLE:
SET BBS=C:\BINK
SET MSGED=Q
GENERAL COMMENTS
----------------
The program is fairly self-explanatory. The user interface is much like
you're used to using with Fido or Opus. Typing "MSG ?" will give a quick
syntax reminder. Typing "?" at the main prompt, the C)hange prompt, the
X)change prompt, or the Z)ap prompt will give a description of the
available commands and their meanings.
Great care has been taken in the programming of MSG so that unneeded output
is not created when commands are "stacked". For example, typing "MSG A
SYSOP = G > SYSOP.NEW" will create a file named SYSOP.NEW containing new
messages in the SYSOP area, without the copyright message or any questions
being sent to the file.
MSG makes use of and updates the LASTREAD file in each of the message areas.
If you use a renumbering utility on your message areas, be sure to specify
an option to also update the LASTREAD files.
As mentioned above, all information about message areas is read from
AREAS.BBS. If you're a sysop, you've undoubtedly got at least one message
area that is not an echomail area. To get MSG to recognize these areas, you
must add them to your AREAS.BBS. Create a tag for them, but don't list any
nodes on the line.
Eight commands are not shown in the help screen. They are all two-letter
commands:
A= Read all new messages in next areas.
AL List headers of all new messages in next areas.
AN Change to next message area.
AP Change to previous message area.
RP Reply to the current message privately (default in netmail area)
RN Reply to the current message publicly (only in netmail area)
RC Mark reply message 'crash' (ignored except in netmail area)
RH Mark reply message 'hold' (ignored except in netmail area)
For example, to read all new messages in all areas, you could invoke the
program like this:
MSG X M C H ^ A=
If the "A=" or "AL" subfunction is used in an area other than the mail area
(message area #0), they will work on the current area and subsequent areas
only. So if you used "A=" to read all messages, you could stop the output,
enter or reply to a message, then type "A=" again to continue reading.
If a file named MESSAGE.LOG exists in the 'BBS' directory, the four A?
commands mentioned above will work differently. They will act as if the
only message areas available are those that are listed in MESSAGE.LOG.
Other commands are not affected. Starting with MSG V3.3, this file
(MESSAGE.LOG) is maintained for you. You may add to it, but you won't need
to delete it. MSG will re-write it when you exit the program, and will list
only those areas in which you have not yet read the last message. So if you
don't finish reading messages in all areas, MSG will keep track of which
ones are left. If you use CONFMAIL to toss messages, use the -F switch to
create a log file. Append the contents of this file to the end of
MESSAGE.LOG each time you toss. For example:
ConfMail Import Areas.BBS -K -N -M -S -F EchoToss.Log -A Arce
Copy Message.Log+EchoToss.Log Message.Log
The J)ump command invokes a DOS shell if nothing follows the "J" on the
command input line. If a DOS command follows the "J", it will be passed to
the command processor, and control will then return to MSG.
If you "visit" an area that contains no messages, the LASTREAD pointer will
be stored as 1 rather than 0 in echomail areas only. This is mainly to
ignore the "High water mark" message in echomail areas that is created when
you scan an empty area.
When you first enter a message area, MSG stores a copy of the LASTREAD
pointer in its local memory. This local copy is called a marker. There
is a separate marker for each message area. You can return to the "marked"
message by using the "@" command, and you can change the marker to the
current message by using the "!" command.
MSG maintains a file named MSGTOSS.LOG file in the home (BBS) or default (if
BBS is undefined) directory which contains a list of areas into which you
entered echomail messages. This file is compatible with ConfMail's -F
switch, and could be used with the export function. The file is deleted
when the program begins, and is only appended when a message is entered in
a new area, so if no echomail messages are entered, it won't exist. The
sample MSGS.BAT file, included in this archive, will help you to understand
this special feature. When MSG starts, it deletes MSGTOSS.LOG if one
already exists from a previous run.
To use the mailing list feature, create one or more text file with the
extension .LST in your root (BBS) directory. Each should contain a list of
names, one per line. When you E)nter a message, answer the "To:" prompt
with an "@" sign followed immediately by the name of the file (no
extension). For example, To: @DIST would use the file DIST.LST in the
directory pointed to by the BBS environment variable.
Pressing Control-C during any output will cause that output to stop. At the
"More?" prompt, there are several keys that have special meaning. Control-C
will stop the output, as will Escape, "N", and "Q". Any other key will
cause the program to continue normally.
The P)rivate setting in the Z)ap menu causes an area to be marked/unmarked
as a private area. Anytime you E)nter a message, R)eply, or M)ove a
message to a private area, that message will be marked private. While in a
private area, you can still use the RN command to enter a public reply.
Most of the program's output goes to "stdout", which means that it is
redirectable. Certain error messages, screen clearing, cursor positioning,
and "More?" messages however, go to stderr, and will be displayed to the
screen regardless of any redirection in progress.
HOTKEYS
-------
The H)otkey command at the X)change menu toggles Hotkeys on and off. When
Hotkeys are on, you don't have to press Enter after most commands. Other
differences you'll encounter when Hotkeys are ON:
o You can't use any of the two-letter Reply commands.
o To go directly to a message, press the "#" symbol. The program
will prompt you for a message number.
o Left-arrow = "P" o Right-arrow = "N"
o Ctrl Left-arrow = "-" o Ctrl Right-arrow = "+"
o Up-arrow = "AP" o Down-arrow = "AN"
o Ctrl Up-arrow = "AL" o Ctrl Down-arrow = "A="
o Home = "?" o End = "G"
o Ins = "E" o Del = "K"
o PgUp = "R" o PgDn = "W"
o Keypad 5 = "H"
o At the "More?" prompt, pressing any of these keys will immediately
clear the prompt (as if you'd typed "N") and then execute the key
you pressed.
o When you press the "G" or End key, you will be asked to confirm
that you want to leave the program. Press "Y" to confirm, or "N"
to remain in the program.
o If the definitions above don't suit you, you can define your own.
See MSG.REF and the sample MSG.MAC file for details.
FOR THE TECHNICALLY ORIENTED
----------------------------
For command input, MSG uses the console device, not "stdin". This results
in the program cooperating very nicely with the shareware program CED or the
commercial program PCED. However, echoed console input is sent to the
console rather than "stdout". Since "stdout" is a fully-buffered device,
and console output is not, it's not a good idea to redirect the output if a
mixture of input is used. For example, if you type
MSG A= > TEMP
you'll get a listing of all new messages in the TEMP file. However, the
program will not terminate until you type "G" from the keyboard. If you
examine the TEMP file, you'll find the "G" you typed in a strange place,
probably somewhere in the middle of the last message. The solution to this
problem is to carefully construct your command line to not need any input
while using redirection. The "fixed" example above would look like this:
MSG A= G > TEMP
which would cause the program to end normally and not require any input from
the console.
Input directed into MSG will also work, but the same problems apply here as
described above. Directed input is taken from the console device, so you
shouldn't use redirection in both directions (i.e. "MSG <MSG.CMD >TEMP").
If you make a file named MSG.CMD containing:
A TECH
E John Doe
Your broken hard disk
G
you'll be able to do this:
MSG < MSG.CMD
and MSG will plop you into your editor to type the text of the message, then
quit.
BATCH FILES AND THE COMMAND LINE
--------------------------------
Three things have been done so that MSG will work nicely from the command
line and automated batch files: 1) Empty word responses, 2) Line
terminators, 3) Automatic message entry.
Empty word response: When entering/changing a name, MSG expects a full
name (two words). In interactive use, you can just type one name and hit
return. But from the command line, you might need a way to tell MSG that
you don't want to specify a last name. To do this, use the carat (^) by
itself. This is also needed to quit from the C)hange, X)change, and Z)ap
submenus. The sample batch file included in this archive gives an example
of this.
Line terminator: When entering a subject, search string, origin line,
signature, area description, or DOS command, the full buffer of input is
normally read. On the command line, you may want to specify more commands
after a subject or search string. To do this, terminate the string with a
carat (^) immediately following the last word of the string.
EXAMPLE: Jump DIR /W \BINK^ Huh
Automatic message entry: Every time you use the E), R), or B) command and
edit a message's text, you are editing a disk file named MESSAGE.TXT. After
you've saved this file, MSG reads it back, creates a message from it, and
deletes it (and MESSAGE.BAK if one exists). So normally, there isn't a
MESSAGE.TXT file in your default directory (which is always where it is
created). But, if a file named MESSAGE.TXT *does* exist when you E)nter a
message, your editor will not be invoked, and the existing file will be
used. There are several ways to take advantage of this, here are a couple
examples:
COPY TECH.NOT MESSAGE.TXT
MSG A TECH E John Doe Your broken hard disk^ G
MSG A SYSOP J Copy TECH.NOT MESSAGE.TXT^ E Dave ^ Again?^ G
POINTS AND BOSSES
-----------------
Two special-purpose lines in AREAS.BBS are recognized by MSG. They are:
-BOSSNODE=xxx/xxx
-POINTNET=xxx
These lines may be anywhere in the file except the first line. The '-'
should be in column one. You shouldn't use both of these lines, but you
may need to use one or neither of them.
-BOSSNODE=xxx/xxx This is used if you are a point. This is where you'll
need to specify the net and node number of your boss
system. Do not include a zone number - your boss must
be in the same zone as you. If you are not in zone 1,
you must specify your zone in the NODE line of
CONFIG.DOG. The NODE line in CONFIG.DOG should specify
your "fake" network number, and should not include a
point number.
-POINTNET=xxx This is used if you are a boss node with points. This
is where you'll need to specify the "fake" network
number of your point systems. With this line in place,
you can send messages to your points by using either
their "fake" address or their fully-qualified point
address (your net/node number '.' their point number).
ENTERING AND REPLYING TO MESSAGES
---------------------------------
When entering a message in the MAIL area (#0), a destination node number
must be known. If the person you're entering the message to is listed in
USERLIST.DOG or FIDOUSER.LST, you won't need to enter this node number, it
will be entered for you.
If you are a boss node and have a -POINTNET statement in your AREAS.BBS
file, messages to one of your points will be re-addressed to your private
network number. For example, my network number is 124/1113. In my
AREAS.BBS I have a "-POINTNET=9130" statement. In my USERLIST.DOG file, I
have a line which says "Freiheit, Bill 124/1113.2002". If I enter a
message to "Bill Freiheit", MSG will address it to 9130/2002. However, if
I enter a message to "Joe Blow" on 124/6215.12, MSG will recognize that
this isn't one of my points, and will address it to 124/6215 and will
prefix the appropriate "TOPT 12" kludge line to the message body.
If you are a point node and have a -BOSSNODE statement in your AREAS.BBS
file, all mail messages (in area #0) you enter will be FROM your bossnode,
with an appropriate "FMPT" kludge line in the message body.
If you enter or reply to a mail message that is destined for a node outside
your own zone, the message will be addressed to the zone gateway, and an
appropriate "INTL" kludge line will be prefixed to the message body.
If this all seems a little complicated, a little playing around with
"Kludges On" (in the X)change menu) should enlighten you.
File attaches: When entering the subject of a message when E)ntering or
R)eplying in the mail area (area #0), you should specify a filename rather
than a subject if you wish to attach a file. If the 2nd and 3rd characters
of the subject are ':' and '\', respectively, MSG will assume that you've
typed a filename, and will set the file attach flag. If this is not what
you want, you can toggle the file attach flag on or off with the C)hange
F)ileattach command.
EXIT ERRORLEVELS
----------------
MSG exits with one of four errorlevels:
3 - fatal error, can't continue.
2 - echomail was entered. MSGTOSS.LOG was created.
1 - matrix mail (area #0) was entered only.
0 - no error, no messages need to be scanned.
See the included MSGS.BAT file for an example of how to put the errorlevel
and the MSGTOSS.LOG file to work for you.
FILES USED BY MSG
-----------------
*.LST A mailing list. To use, enter the filename preceeded by "@"
(without the .LST extension) in response to the "To:" prompt
when entering a message.
AREAS.BBS This is a text file that you create, and which is shared by
utilities such as ConfMail. One special note: The system
name ! sysop name line must be on the FIRST line of
AREAS.BBS. No blank or comment lines should be above it.
See the "POINTS AND BOSSES" section above for more
information about the -BOSSNODE and -POINTNET lines.
Example:
Nibbles & Bytes - Dallas, Texas - 214-231-3841! Ron Bemis
;Area Location Area Name Forwarding Nodes
-POINTNET=9130
M:\NOTES\ NOTES
M:\POINTS\ POINTS 265/7 124/4115 124/6215
;and so on...
CONFIG.DOG This is a text file that you create, and which is shared by
other utilities. MSG only requires that there be two lines
in this file, although there may be others. In the NODE
line, if a zone number is not specified, the default is zone
1. If you are a point system, do not specify your point
number on the NODE line. Put your "fake" address here, and
use the -BOSSNODE statement in AREAS.BBS.
Example:
Node 1:124/1113 ;my network address
Mail M:\MAIL ;matrix msgs location
DIR.BBS This is an area description file. You may have one in each
of your message area directories. MSG only uses them to
display your current area. If they do not exist, MSG will
instead display the directory path.
FIDOUSER.LST This is created by your nodelist compiler. When you enter a
netmail message, USERLIST.DOG is searched first. If the name
is not found in USERLIST.DOG, or USERLIST.DOG does not exist,
MSG will search FIDOUSER.LST.
HANCOCK.JON This is the 'signature' file. If a file with this name
exists in a message area, the contents will be appended to
each message you create by E)ntering or R)eplying. If a file
with this name exists in the 'BBS' directory, it will be used
as a default if there is no HANCOCK.JON in the corresponding
message area. Only one line of up to 75 characters will be
read. Do not use graphics or other non-ASCII characters in
this file.
LASTREAD. These are small binary files that exists in each of your
message area directories. They are used to store a pointer
to the last message you have read in each area.
MESSAGE.TXT This is the filename passed to your editor for any message
editing. This includes E)nter, R)eply, and B)ody. Once
saved back into a message format, the file is deleted.
MESSAGE.BAK Possibly created by your editor. If it exists after editing,
it is deleted.
MESSAGE.LOG Maintained by MSG. If it exists in the 'BBS' directory when
MSG starts, the "A=", "AL", "AN", and "AP" commands will be
limited to the areas listed in this file. This file might be
appended by using the -F option of CONFMAIL IMPORT. It will
only be re-written by MSG if it existed when MSG started.
MESSAGE.SAV This is the default filename for the W)rite command. Of
course you may type any filename you like instead. If you
specify a different file, MSG will remember it, and that
file will be the default the next time you W)rite.
MSG.COL This is a small file that contains your color setup. If
this file is present in the 'BBS' directory, MSG will use it
to initialize your colors. You can configure the colors
temporarily or permanently by using the X)change D)ecorate
option. MSG's default settings are in color (with no
MSG.COL). The MSG distribution archive contains a sample
MSG.COL for monochrome systems. If you have a color system,
you should probably not install this sample file.
MSG.MAC This is the macro definition file. Any line beginning with
anything other than a numeric character is ignored. A macro
definition starts with the scan code, and is followed by the
macro string. Macros are valid only for "0-scan" keys, and
only when Hotkeys are enabled. See the file MSG.REF for a
list of definable keys.
MSG.REF A fairly complete list of the keyboard scan codes that can
be used for macros. This isn't used by the program, but is
provided as an aid in editing MSG.MAC.
MSGTOSS.LOG This is created by MSG when you enter messages in an
echomail area. See the description above, and the sample
MSGS.BAT batch file.
ORIGIN You can use this file to create custom origin lines. If a
file with this name exists in a message area, the contents
will be used to create your origin line in echomail areas
when you E)nter or R)eply to a message. If the file does not
exist in a given message area, the default origin from
AREAS.BBS will be used. " * Origin: " will be added before
this line, and your node number will be added at the end, so
these should not be included. Up to 50 characters are
permitted. Do not use graphics or other non-ASCII characters
in this file.
PASSTHRU MSG doesn't use this file at all, it just creates/deletes it
with the PassT)hru option in the Z)ap menu. It's a
zero-length file, which means it doesn't take up any
additional disk space. It is intended to signify an area
that contains pass-through echomail messages not used on the
local system. A batch file could do special processing
based on an IF EXIST xxx\PASSTHRU statement.
PRIVATE MSG creates/delete this file with the P)rivate option in the
Z)ap menu. It's a zero-length file, which means it doesn't
take up any additional disk space. If found, MSG will
create private messages when you enter or reply in the area.
USER MSG doesn't use this file at all, it just creates/deletes it
with the U)ser option in the Z)ap menu. It's a zero-length
file, which means it doesn't take up any additional disk
space. It is intended to signify an area that is set up for
users of a BBS, but is not read by the sysop. A batch file
could do special processing based on an IF EXIST xxx\USER
statement.
USERLIST.DOG If this file exists, it is searched first when you enter a
message in your netmail area (area #0). Each line must have
the exact same length, and have the same format as the
FIDOUSER.LST file described above.
*.MSG Of course.
Congratulations on reading this far through this rather badly written
documentation. I hope you'll enjoy this program, and I also hope that
you'll consider sending in a registration if you like it. I've always got
an ear open to suggestions or enhancements that you might like to see
added. Don't patch this program - drop me a note if you need something
special done. And please report any bugs you may find!
- Ron Bemis, Sysop 124/1113, 214-213-3841
MSG is shareware! That means that if you use it on a regular basis, you
must pay for it. You are hereby granted a limited licence to use this
program for a period of one month. At the end of this month, you must
either register this program or discontinue its use. This program may NOT
be used in a business, for-profit organization, or corporate environment
without first being registered. Registration price for this program is $20
per machine. Registrations should be mailed to:
Ron Bemis
9601 Forest Ln #222
Dallas, TX 75243