home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / new / comm / mail / thor / thor.lha / rexx / NCommPoll.thor < prev    next >
Text File  |  1994-08-06  |  2KB  |  110 lines

  1. /* NCommPoll.thor · by Troels Walsted Hansen
  2. ** $VER: NCommPoll.thor v1.22 (04.04.94)
  3. **
  4. ** An ARexx script that automates NComm dialing of:
  5. **  1) BBSs you select from a list of all BBSs defined in Thor.
  6. **  2) All BBSs with events.
  7. **  3) All BBSs.
  8. **
  9. ** IMPORTANT: To use this script, the BBSs configured in Thor must
  10. **            have the same name as those in your NComm phonebook.
  11. */
  12.  
  13. options results
  14. DO_NOT_ASK = 0
  15.  
  16. if(substr(address(),1,4) ~= "THOR") then do
  17.     parse arg portname
  18.     if~(show(p, portname)) then do
  19.         if ~(show(p, "THOR.01")) then do
  20.             say "No THOR port found!"
  21.             exit
  22.         end
  23.         else portname = "THOR.01"
  24.     end
  25. end
  26. else portname = address()
  27.  
  28. address(portname)
  29.  
  30. /* Determine what user wants.. */
  31.  
  32. dialstring = ""
  33.  
  34. THORTOFRONT
  35.  
  36. if(DO_NOT_ASK = 0) then REQUESTNOTIFY TEXT '"Dial which?"' BT '"_Select|_Events|_All|_Cancel"'
  37. else result = 1
  38.  
  39. /* Cancel */
  40.  
  41. if(result = 0) then exit
  42.  
  43. /* Select */
  44.  
  45. if(result = 1) then do
  46.     THORTOFRONT
  47.  
  48.     do forever
  49.         REQUESTLIST BBSLIST
  50.         if(rc ~= 0) then break
  51.         else BBSName = result
  52.         dialstring = dialstring || "|" || BBSName
  53.     end
  54. end
  55.  
  56. /* Events */
  57.  
  58. if(result = 2) then do
  59.     address command("thor:bin/listevents short >t:ThorBBSs")
  60.     open(file, "t:ThorBBSs")
  61.  
  62.     do until(eof(file))
  63.         str = strip(delstr(readln(file), 23), T)
  64.         dialstring = dialstring || "|" || substr(str, 6)
  65.     end
  66.  
  67.     close(file)
  68. end
  69.  
  70. /* All */
  71.  
  72. if(result = 3) then do
  73.     GETBBSLIST STEM bbslist
  74.  
  75.     do i=1 to BBSLIST.COUNT
  76.         dialstring = dialstring || "|" || BBSLIST.i
  77.     end
  78. end
  79.  
  80. if(dialstring = "") then do
  81.     if(exists("T:ThorBBSs")) then address command "delete >nil: T:ThorBBSs"
  82.     exit
  83. end
  84.  
  85. /* Is NComm already running? If not, start it... */
  86.  
  87. if ~show('p', 'ncomm') then do
  88.     if ~exists("t:NCommStartupScript") then do
  89.         call open(nscript, "t:NCommStartupScript", W)
  90.         call writeln(nscript, "stack 10000")
  91.         call writeln(nscript, "cd NComm:")
  92.         call writeln(nscript, "run <>nil: NComm")
  93.         call close(nscript)
  94.     end
  95.  
  96.     address command
  97.         "execute t:NCommStartupScript"
  98.         "WaitForPort ncomm"
  99.     if(rc) then exit
  100. end
  101.  
  102. address 'ncomm'
  103. NCOMMTOFRONT
  104. DIAL strip(dialstring, B, "|")
  105.  
  106. /* Cleanup and exit... */
  107.  
  108. if(exists("T:ThorBBSs")) then address command "delete >nil: T:ThorBBSs"
  109. exit
  110.