home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mega Top 1
/
os2_top1.zip
/
os2_top1
/
APPS
/
DATACOM
/
TERM
/
LW22
/
JDEBP.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1994-04-20
|
8KB
|
192 lines
/* ****************************************************************** *\
* SysteMCV.CMD --- Yes folks ! This is REXX ! *
* *
* JdeBP's LiveWire script file for connecting to SysteM-C-V and *
* performing a fully automated mail run. This could probably *
* be adapted to work with any PC Board 15 BBS. *
* *
* (c) Copyright 1994 Jonathan de Boyne Pollard *
* Jonathan.de.Boyne.Pollard@p3.f4.n440.z2.fidonet.org *
* JdeBP@donor2.ukmail.net *
* *
* Permission is hereby granted to post, steal and abuse this *
* script for your own purposes to your heart's content, as long *
* as you realise that I take no responsibility whatsoever for *
* what it does to your machine, data, cat, or marital status. *
\* ****************************************************************** */
/* All of these adapted from the learned script */
Trace(Off);
SetLW(TimeOut,60);
SetLW(Pacing,40);
SetLW(Emulation,1);
SetLW(Echo,0);
SetLW(Linefeeds,0);
SetLW(XonXoff,0);
SetLW(BSIsDel,0);
/* Here's the main bit folks ! */
SendUserName() ; /* All that logging on stuff is handled */
SendLW("Mail^M") ; /* Enter the mail door from the main menu */
CamMail() ; /* My mail door is Cam-Mail */
HangUpLW() ; /* We've said (G)oodbye, so ... */
exit
/* Wasn't that simple ! That's the power of REXX you know. (-: */
/* */
/* SendUserName - This function handles all of the initial logging */
/* on nastiness. The idea of it being a loop is that on noisy lines */
/* it should keep reentering your name until either it works, or the */
/* BBS hangs up on you in disgust. */
/* */
SendUserName:
/* Customise the following for your PC Board setup. */
/* The backspaces before my name are to clear up a load of ANSI */
/* junk that somehow gets entered into the username field. */
/* Note how we pick the password up from the dialling list entry. */
Username = "^H^H^H^H^H^H^HJonathan de Boyne Pollard^M"
Password = GetLW("DialerPassword")||"^M"
Language = "2"
do forever
/* **************************************************************** *\
* The following are the modifications needed to login to Channel 1 *
* in the United State, and are good examples of the modifications *
* that may be required in some cases. *
* *
* login=FindLW("anguage # to use", *
* ,"graphics (Enter)=no? ", *
* ,"you want Color? ", *
* ,"our first name?", *
* ,"Is this correct? ", *
* ,"rd (Dots will echo)? ", *
* ,"ead your personal mail", *
* ," Main Board Command? "); *
* *
* select *
* when login="anguage # to use" then SendLW(Language||"^M") ; *
* when login="you want Color? " then SendLW("^M") ; *
* when login="graphics (Enter)=no? " then SendLW("^M") ; *
\* **************************************************************** */
login=FindLW("used (Enter)=Normal? ",
,"graphics (Enter)=no? ",
,"our first name?",
,"Is this correct? ",
,"rd (Dots will echo)? ",
,"ead your personal mail",
," Main Board Command? ");
select
when login="used (Enter)=Normal? " then SendLW(Language||"^M") ;
when login="graphics (Enter)=no? " then SendLW("^M") ;
when login="our first name?" then SendLW(Username) ;
when login="Is this correct? " then SendLW("Y^M") ;
when login="rd (Dots will echo)? " then SendLW(Password) ;
when login="ead your personal mail" then SendLW("N^M") ;
when login=" Main Board Command? " then Leave ;
otherwise do
/* The only thing that usually will bring you here is */
/* a timeout. What you do here is up to you. I just */
/* panic myself. */
Say "SCRIPT FAILED !!!! The prompt was " login
HangUpLW() ;
Exit ;
end
end
end
/* We are now at the main board command prompt. */
return "" ;
/* */
/* CamMail -- A simplistic handler for the Cam-Mail mail door. This */
/* will upload a REP if it exists, then download a QWK and hangup. */
/* */
CamMail:
UploadDir = GetLW("ULDir") ;
if UploadDir \= "" then UploadDir = UploadDir||"\" ;
RepFile = UploadDir||"SysteMCV.rep" ;
Protocol = GetLW("DialerProtocol") ;
/* These variables track what is going on */
Uploaded = ( stream(RepFile, 'C', 'Query Exists')="" )
Downloaded = 0 ;
Done = 0 ;
do until (Done)
cammail=FindLW(" Cam-Mail Command? ",
,"you want to receive these messages",
,"Prepare To Download",
,"(H)angup");
select
when cammail=" Cam-Mail Command? " then do
select
when \ Uploaded then do
SendLW("u^M") ;
DelayLW(300) ;
SendFilesLW(Protocol, RepFile) ;
Uploaded = 1
end
when \ Downloaded then do
DelayLW(700) ;
SendLW("d^M") ;
end
otherwise do
SendLW("G^M") ;
Done = 1 ;
end
end
end
when cammail="you want to receive these messages" then do
SendLW("Y^M") ;
end
when cammail="Prepare To Download" then do
ReceiveFilesLW(Protocol, "SysteMCV.qwk") ;
Downloaded = 1 ;
end
when cammail="(H)angup" then do
DelayLW(100) ;
SendLW("h") ;
Done = 1 ;
end
otherwise nop ;
end
end
/* This is the fun bit which you can adapt to your own ends. You */
/* now potentially have a QWK in your download directory. What I */
/* do is to start a batch file in the background that copies it to */
/* an archive directory, and moves the original into the mail */
/* reader's inbound directory. Of course, TRANSFER.BTM handles all */
/* of my QWKs, so it takes the BBSID as a parameter. */
Start "/bg /c Transfer SysteMCV"
/* The transfer now is running in the background. Good, innit ? */
return "" ;