Contents of the AUTOTALK.DOC file
AUTOTALK Modem Script Interpreter System [Jun 93]
(c) John A. Qualtrough Q-Ware 1993
Las Cruces, NM
AUTOTALK is a self contained modem script interpreter which allows you to
automatically call bulletin boards or other on-line services, perform actions
such as file searches, downloads, uploads, etc. without any manual input. This
provides for a means of unattended operation through a versatile set of
built in script commands.
The archive containing AUTOTALK should include:
AUTOTALK.DOC (this file)
SAMPLE.ATS (sample script file)
Simply copy these files wherever you wish to keep AUTOTALK. If you plan
to use AUTOTALK often, or from a variety of sub-directories, you should copy
AUTOTALK.EXE into an area contained in your system PATH.
AUTOTALK interprets commands that you write into an ASCII script file using
your favorite editor like MSDOS 5.0 EDIT, or any ASCII text editor. AUTOTALK
will interpret these commands when the script file name is passed as the
command line parameter.
The above example runs AUTOTALK, and tells AUTOTALK to execute the script
called "SAMPLE.ATS". The following section describes the AUTOTALK script
commands and system variables. Further examples may be seen by browsing the
SAMPLE.ATS script included with AUTOTALK.
All AUTOTALK scripts are a series of commands or comments. Only one
command is allowed per line, and the first three non-comment lines of every
script MUST be the $PORT, $BAUD, and $DIAL commands. These tell AUTOTALK
which port, speed, and number to dial on your modem. Any lines that begin
with // are comments and are ignored by AUTOTALK. All commands use the $ as
the first character, and command arguments such as strings, baud rates, etc.
must be enclosed in double quotes.
$PORT "n" ( n may be port 1,2,3, or 4)
$PORT "2" (tells AUTOTALK to use COM2:)
Note: All AUTOTALK commands have a single parameter or argument
which is enclosed in double quotes ("argument").
The $BAUD command sets the speed with which you wish to communicate
with your modem. This speed may be from 300-57000 baud. The optional
setup specifies the parity, data bits, and stop bits. If omitted,
8,N,1 is assumed.
$BAUD "9600" (use 9600 baud N,8,1)
$BAUD "2400,E,7,1" (2400, even parity, 7-data, 1-stop)
$DIAL tells AUTOTALK which phone number you wish to dial before
executing the main portion of your script. Adding ',T' outside the
double quotes will use touchtone dialing. Adding ',Q' will tell
AUTOTALK to shut off the speaker during dialing operations. The
,T and ,Q are not enclosed in the double quotes with the number.
AUTOTALK will dial until a connection is made. If the number is busy
AUTOTALK will re-dial every 10 seconds. Pressing during this
process will hangup and return you to DOS.
$DIAL "765-4321",T (dial using touch tones, speaker on)
$DIAL "123-4567",T,Q (dial touchtone with quiet speaker)
$DIAL "654-3210" (pulse dial, modem speaker on)
After the three required commands in a script, you may use any combination
of the following AUTOTALK commands and system variables:
$WAITFOR tells AUTOTALK that you wish to wait for the specific string
to be sent to you. AUTOTALK will wait for this string and send a
carriage return every two seconds until the string is received.
This command is used to recognize certain key words sent from a BBS
like "YOUR NAME", "MAIN MENU", etc. to allow auto login, etc.
$WAITFOR "ENTER YOUR FULL NAME"
The $IF is a conditional wait which will monitor the received data
for your string. If found, AUTOTALK will execute all commands in
your script up to the $ENDIF command. If not found, the lines between
$IF and $ENDIF will be skipped. In either case, script processing will
continue with the command following the $ENDIF line. The $IF command
will wait for 5-seconds after the last character is received. If your
string is not found by this time the condition is assumed to be false.
$IF "GOOD BYE" (if the BBS says: "good bye" then hangup)
NOTE: Both the $WAITFOR and $IF are NOT case sensitive. In other
words a $WAITFOR "abcdefg" is the same as $WAITFOR "ABCDEFG".
Also note that you may indent commands to make command flow
easier to follow.
This command goes with $IF command so that you may execute commands
if a certain string is found, and other commands if it is not found.
The command lines following the $ELSE will be executed only if the
string in the last $IF was NOT found. All commands up to the $ENDELSE
$IF "GOOD BYE"
The above example will execute the $HANGUP command if the string
GOOD BYE is encountered. If it is not found, the string LOGOFF
will be sent. In both cases, command execution will resume with the
first command after $ENDELSE, but only one of the commands $HANGUP
or $SEND "LOGOFF" will be executed.
$IF "MESSAGES WAITING"
The above example will send the string LOGOFF only if the string
MESSAGES WAITING is NOT received. If it is received, the $SEND is
skipped, and commands will continue with the line following $ENDELSE.
$SEND will transmit your string to the BBS. It is sent "as is" with
NO trailing carriage return, line-feed, etc.
$PRINT is similar to $SEND, except a is appended to your string
before sending it to the BBS.
$WAITFOR "ENTER YOUR NAME" (BBS asks for your name)
$PRINT "JOHN SMITH" (Send it with )
The $RUN is one of the most powerful script commands. It allows you
to run DOS programs like .COM, .EXE, and .BAT from within a script.
This allows you to download/upload files using external protocols
like PowerMODEM, ASAP, Z-MODEM, etc. Or to run other programs of your
choice. When the execution of the program is complete, AUTOTALK
resumes the script with the line following the $RUN command.
$IF "READY TO SEND FILE" (If BBS is ready to send)
$RUN "DSZ port 2 rz" (do ZMODEM download)
The $SIGNAL directive will cause AUTOTALK to make your computer
give a "whistle" attention sound through your PC speaker. This
is used to alert you of certain events like a completed download,
or some other event which you may wish to observe.
$RUN "DSZ port 2 rz"
$LOG "your string"
The $LOG command allows you to log strings of your choice to a file
called AUTOTALK.LOG. This can be used to log progress of a call,
errors, etc. Each time $LOG is used, the string is appended to the
bottom of the AUTOTALK.LOG file.
$IF "file not found" (BBS cant find a file)
$LOG "BBS could not locate file!"
$RUN "DSZ port 2 rz"
This command tells AUTOTALK to quit execution of the current script
and execute the script specified in the $CALL argument. This may
be used to link multiple scripts, and is usually the last line in a
script since processing of the current script will end.
$IF "ready to send"
$HANGUP requires no arguments, and instructs AUTOTALK to drop the
modem DTR signal to disconnect the modem. AUTOTALK will return to
DOS automatically anytime carrier is lost from the remote system.
This is generally the last line in a script.
AUTOTALK also interprets system variables which allow you to access
the system date, time, and port number within your script. All system
variables use the % as the first character.
Is inserted inside a command argument string telling AUTOTALK to fill
this in with the system date:
$SEND "Todays date is %DATE"
This will send: Todays date is 06/12/93
Used like %DATE, only the system time is inserted in place of
the %TIME variable.
$IF "download successful"
$LOG "Download complete at %TIME on %DATE."
This variable is useful in passing the modem communications port to
external protocols or programs.
$IF "READY TO SEND FILE"
$RUN "DSZ port %PORT rz" (do ZMODEM download)
The %PORT will be filled in with the number (1-4) of your active
port before calling DSZ for the download.
My thanks to Art Pike of Waterfront West Wildcat! for his suggestions and help
in the testing of virtually all Q-WARE software.
AUTOTALK may be copied and distributed freely. This is to say, that a fee
may not be charged that exceeds the reasonable cost of distribution media.
AUTOTALK may NOT be used in whole or in part as part of a commercial package
or product without the express written permission of the author.
If you find this program useful enough to consider payment, you can send around
five dollars to:
John A. Qualtrough
315 Linda Vista Rd.
Las Cruces, NM 88005
[ Please include the software title(s) and version(s) with registration. ]
This registration fee will entitle you to a free update and other utilities
to make your PC a more useful tool.
You may reach me at Waterfront West Wildcat! (505)-523-4528
Leave a [M]essage for John Qualtrough
END OF DOCUMENT