home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / SCRIPTS.ZIP / DOSIG.T < prev    next >
Encoding:
Text File  |  1995-02-12  |  4.0 KB  |  110 lines

  1.     :: DOSIG rev 7-10-94  Cruise a CompuServe Special Interest Group
  2.     :: dosig register usage
  3.     ::    s4 saves hi message number
  4.     ::    s5: flag for individual subject prompt - read
  5.     ::    s6: garble detect
  6.     ::    s7: SIG page designation
  7.     ::    s8: prefix for upload messages
  8.     ::    s9: inital command
  9.     echoc "DOSIG: %s7 AT %t"
  10.     sets remote "%s7"
  11.     :: if du !% logger dosig entering %s7
  12.     kbdlock 0
  13.     timestamp
  14.     put "\25g %s7\r"
  15.     set s5 ""
  16.     set f9 "@set s5 x;kbdlock 2;echo OK-ALREADY"
  17.     set s6 ""
  18.     on 20||e>45||!c echoc "Bad/Lost Connection"; return
  19.     pat
  20.     pat 0cp " ^Q " "\021"
  21.     pat 1$v "\nFunction: "    :Desired response
  22.     pat 2v "Function: \b"    :Desired response
  23.     pat 3 "<ENTER>"        :Possible Compuserve snafu
  24.     pat 4 "User ID:"    :CIS may just log you off
  25.     pat 5 "unavailable"
  26.     pat 6 "Fatal error"
  27.     ::if !iremote,allsig pat 7c "Short bulletin:" "\25\017\r"
  28.     pat 8 "hat page is empty"
  29.     pat 9c " RE T)" "\25\r"
  30.     pat 10iv "Forum messages:"
  31.     pat 11 "? MONUTR"
  32.     pat 12 "service is not defined"
  33.     pat 13 "Fatal Error"
  34.     pat 15 "temporarily"
  35.     pat 16v "Forum !\b"
  36.     pat 17c "Control-C Intercepted Menu" "1\r"
  37.     pat 18 " is unrecognized!"
  38.     wait -F90
  39.     if n echoc "90 seconds and no match!!"; timestamp
  40.     if 8||12 putw "\021\25g %s7\r";  wait    : possible garbled cmd
  41.     if 8||12 echoc "Got 8||12" sets sk "%sk 8/12:%s7"; return
  42.     if 10 pat 10i "\r"; wait
  43.     if 10 pat 10 ""; sets s4 "%y1"; wait
  44.     if n set s6 x; put "\021\25\r"; wait       :in case of garble
  45.     if 11 echoc "CIS Total Lossage"; s; sets sk "%sk %s7"; bye; fail
  46.     if 5 mput "\r"; echoc "(Unavailable)"; sets sk "%sk u:"; goto gcis1
  47.     if "15|18" echoc "(%s7 closed.)"; sets sk "%sk c:"; goto gcis1
  48.     if 6||13 echoc "Fatal Message"; sets sk "%sk f:"; goto gcis1
  49.     if 4 s; sets sk "%sk %s7"; fail
  50.     if 3 set s6 x; put "\021\25\r" wait
  51.     if n put "\021\25\r" wait -f55    :No match - try once more
  52.     if n echoc "No Patterns Matched!"; s; goto gcis1
  53.     if !1&&!2&&!16 s; echoc "Wrong Message"; s; goto gcis1
  54.     echo "Checking for upl/dl requests"
  55.     if jinvok,upl if %s8 expand %lib/upl.t cisupl/%s8*
  56.     if jinvok,dow if %s8 expand %lib/dow.t  cisdow/%s8*
  57.     echo "Checking for outgoing Messages"
  58.     if %s8 expand %lib/cisupl.t %s8*
  59.     echo "Outgoing Message Check done."
  60.     put "\021\25%s9\r"
  61.     pat
  62.     pat 0cp " ^Q " "\021"
  63.     pat 1 " RE T)"        :Message waiting for you
  64.     pat 2i "Function: \b"    :Desired response
  65.     pat 3$ "\nFunction: "    :Desired response
  66.     pat 6c "yam " "@echo YAM\ MENTIONED"
  67.     pat 7c YAM "@echo YAM\ MENTIONED"
  68.     pat 8c Yam "@echo YAM\ MENTIONED"
  69.     pat 9v$ "\nNO CARRIER\r\n"
  70.     pat 11c "\n#: " "@setc now %t"
  71.     pat 12l "\nTo: "
  72.     pat 16 "Forum !\b"
  73.     on "9||e>45||!c" goto ondosig        :If disconnect or bad line
  74. dosg1:    wait
  75.     while 12 echof "Prefix: %s8 Sig: %s7 D/L:%t" wait
  76.     if 1 echoc "SIG: %s7" put "\25\r" goback dosg1 :Bypass RE T questions
  77.     if !3&&!2&&!16 echoc "Timeout: Function prompt"; put "\21\221"; wait
  78.     if !3&&!2&&!16 echoc "Timeout 2: Function prompt"; put "\021\221\25\r"; wait
  79.     if !3&&!2&&!16 echoc "Function prompt not seen"; s; goto gcis1
  80.     : echoc "Function Prompt Detected"
  81.     :: if !is9,rm if %s8 expand %lib/sigrd.t r%s8*; expand %lib/sigrd.t I%s8*
  82.     if %s5 echo " Enter Subjects to scan for, one per line, empty line ends. "
  83.     if %s5 while %s5 accept s5 "subject:" if %s5 put "r;s;s;%s5;n\r" wait -f15
  84.     set f9
  85. @echo "Sorry... Too Late to Stop the Bubble Machine"
  86.     pat 19i "For"
  87.     if js9,qsn split s4; putw "\25OP;HI;%z4;P\r"
  88.     kbdlock 0
  89.     echoc " %s7 Dosig Ends %e errors detected "
  90.     :: if du !% logger %s7 dosig Ends
  91.     echoc " Last header line seen at %now"
  92.     : echoc "s4 = %s4"
  93.     return
  94. ondosig:    s        :If disconnect or bad line
  95.     echoc "DOSIG error trap"
  96.     if "!c" echoc "Carrier Lost"
  97.     if "9" echoc "Carrier Lost Message Seen"
  98.     if "e>45" echoc "Error Count Exceeded: %e"
  99.     :: if du !% logger dosig failed %s7
  100.     fail
  101. gcis1:    w; echoc "**** DOSIG ERROR RECOVERY (%e Line Hits Detected) ****"
  102.     sets sk "%sk %s7"
  103.     pat; pat 2 "\nOK\r"; pat 3i "TOP"
  104.     while "L<5&&c&&n" put "\021\25top\rg cis\r" wait -f15 ife "!n" put "\021\17" return
  105.     :: if du !% logger dosig failed %s7
  106.     bye; fail
  107.  
  108.  
  109.  
  110.