home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / comms_networking / netreader / !NetReader / Misc / CIXdial < prev   
Encoding:
Text File  |  1997-06-07  |  6.9 KB  |  256 lines

  1. // Hearsay II Script for dialling CIX
  2. // written by Paul Vigay
  3. // © 23rd Oct 1995
  4. //
  5. // This script file will log onto CIX at 28.8k and download any
  6. // new conference messages, private email messages and then
  7. // send any pre-prepared message files (pointed to by uploaddir)
  8. // and then enter the Newsnet gateway and download/upload any
  9. // messages there, before ending you you to continue.
  10.  
  11. string downloadfile,uploaddir,CSI,bold,attr_off,red,white,yellow,green,cyan,newline,newname;
  12. int flag,redial,line,loop,longwait;
  13.  
  14. int check_files()
  15. {
  16.   flag=0;
  17.   downloadfile="";
  18.   if (batchgetname(RX,1,1,downloadfile)!=0)
  19.     {
  20.     tprints(newline+bold+red+"RX Batch directory is not empty"+yellow+" - Script aborted!"+newline+attr_off+white);
  21.     errorbox("RX Batch directory is not empty - Script aborted!");
  22.     flag=1;
  23.     }
  24.   if (batchgetname(TX,1,1,downloadfile)!=0)
  25.     {
  26.     tprints(newline+bold+red+"TX Batch directory is not empty"+yellow+" - Script aborted!"+newline+attr_off+white);
  27.     errorbox("TX Batch directory is not empty - Script aborted!");
  28.     flag=1;
  29.     }
  30.   if (objectexists(uploaddir+".CIXmsgs")!=0)
  31.     {
  32.     tprints(newline+bold+red+"File CIXmsgs already exists"+yellow+" - Script aborted!"+newline+attr_off+white);
  33.     errorbox("File CIXmsgs already exists - Script aborted!");
  34.     flag=1;
  35.     }
  36.   if (objectexists(uploaddir+".CIXmail")!=0)
  37.     {
  38.     tprints(newline+bold+red+"File CIXmail already exists"+yellow+" - Script aborted!"+newline+attr_off+white);
  39.     errorbox("File CIXmail already exists - Script aborted!");
  40.     flag=1;
  41.     }
  42.   if (objectexists(uploaddir+".Usenet")!=0)
  43.     {
  44.     tprints(newline+bold+red+"File Usenet already exists"+yellow+" - Script aborted!"+newline+attr_off+white);
  45.     errorbox("File Usenet already exists - Script aborted!");
  46.     flag=1;
  47.     }
  48.   return flag;
  49. }
  50.  
  51. int call_fail(string s)
  52. {
  53.   tprints(bold+red+"Call failed ("+yellow+s+red+")"+newline+attr_off+white);
  54.   disconnect();
  55.   pause(200);
  56.   redial=0;
  57.   return redial;
  58. }
  59.  
  60. void grab_messages()
  61. {
  62.   sprints("file read all\r");
  63.   getprompt("Scratchpad",longwait);
  64.   if (getprompt("is 69 bytes.",50)==0)
  65.   {
  66.     sprints("arcscratch\r");
  67.     getprompt("Main",longwait);
  68.     sprints("download\r");
  69.     receivefiles();
  70.     systems("Rename <Hearsay$RXBatch>.ScratchPad "+uploaddir+".CIXmsgs");
  71.     systems("SetType "+uploaddir+".CIXmsgs DDC");
  72.     batchremove(RX,0);
  73.     getprompt("OK to delete the downloaded scratchpad-file?",500);
  74.     sprints("Y\r");
  75.   }
  76.   getprompt("Main",longwait);
  77. }
  78.  
  79. void grab_mail()
  80. {
  81.   sprints("mail\r");
  82.   getprompt("Mail",longwait);  
  83.   sprints("file all\r");
  84.   getprompt("Scratchpad",longwait);
  85.   if (getprompt("is 69 bytes.",50)==0)
  86.   {
  87.     sprints("arcscratch\r");
  88.     getprompt("Mail",longwait);
  89.     sprints("download\r");
  90.     receivefiles();
  91.     systems("Rename <Hearsay$RXBatch>.ScratchPad "+uploaddir+".CIXmail");
  92.     systems("SetType "+uploaddir+".CIXmail DDC");
  93.     batchremove(RX,0);
  94.     getprompt("OK to delete the downloaded scratchpad-file?",500);
  95.     sprints("Y\r");
  96.   }
  97.   getprompt("Mail",longwait);
  98.   sprints("quit\r");
  99.   getprompt("Main",longwait);
  100. }
  101.  
  102. void send_messages()
  103. {
  104.   string filename=uploaddir+".MailToCIX";
  105.   int file;
  106.   if (objectexists(filename)==1)
  107.   {
  108.     emptybatch(TX);
  109.     file=addtobatch(filename);
  110.     sprints("upload\r");
  111.     getprompt("B0100",200);
  112.     sendfiles();
  113.     getprompt("Main",longwait);
  114.     sprints("scput script\r");
  115.     getprompt("Main",longwait);
  116.     sprints("script\r");
  117.     getprompt("Main",longwait);
  118.     systems("Copy "+filename+" "+uploaddir+".Old.OldToCIX ~c~vfd");
  119.   }
  120. }
  121.  
  122. void send_mail()
  123. {
  124.   string filename=uploaddir+".MailToCMl";
  125.   int file;
  126.   if (objectexists(filename)==1)
  127.   {
  128.     emptybatch(TX);
  129.     file=addtobatch(filename);
  130.     sprints("upload\r");
  131.     getprompt("B0100",200);
  132.     sendfiles();
  133.     getprompt("Main",longwait);
  134.     sprints("scput script\r");
  135.     getprompt("Main",longwait);
  136.     sprints("script\r");
  137.     getprompt("Main",longwait);
  138.     systems("Copy "+filename+" "+uploaddir+".Old.OldToCMl ~c~vfd");
  139.   }
  140. }
  141.  
  142. void grab_newsnet()
  143. {
  144.   sprints("go newsnet\r");
  145.   getprompt("Newsnet:",longwait);  
  146.   sprints("batch all endbatch\r");
  147.   getprompt("Newsnet:",longwait);
  148.   sprints("arcbatch\r");
  149.   if (getprompt(".",100)==1)
  150.   {
  151.     getprompt("PAD.arc",longwait);
  152.     sprints("download messages\r");
  153.     receivefiles();
  154.     systems("Rename <Hearsay$RXBatch>.ScratchPad "+uploaddir+".Usenet");
  155.     systems("SetType "+uploaddir+".Usenet DDC");
  156.     batchremove(RX,0);
  157.     getprompt("Newsnet:",longwait);
  158.   }
  159. }
  160.  
  161. void send_newsnet()
  162. {
  163.   string filename=uploaddir+".MailToNews";
  164.   int file;
  165.   if (objectexists(filename)==1)
  166.   {
  167.     emptybatch(TX);
  168.     file=addtobatch(filename);
  169.     sprints("upload messages\r");
  170.     getprompt("B0100",200);
  171.     sendfiles();
  172.     getprompt("Newsnet:",longwait);
  173.    systems("Copy "+filename+" "+uploaddir+".Old.OldToNews ~c~vfd");
  174.   }
  175. }
  176.  
  177. void main(void)
  178. {
  179.   int f,redial;
  180.   downloadfile = "";
  181.   uploaddir = "ADFS::HardDisc4.$.Applicats.Comms.Up/Dnloads";
  182.   newname = "";
  183.   newline = "\r\n";
  184.   CSI=chars(27)+"[";
  185.   bold=CSI+"1m";
  186.   attr_off=CSI+"0m";
  187.   red=CSI+"31m";
  188.   green=CSI+"32m";
  189.   yellow=CSI+"33m";
  190.   cyan=CSI+"36m";
  191.   white=CSI+"37m";
  192.   setterminal(ANSI);
  193.   setspeed(115200,115200);
  194.   setbits(8,N,1);
  195.   setline(RTSCTS,!FILTER,!ANSWER);
  196.   setlink(NONE,!TRICKLE);
  197.   setcomms(PREFIX);
  198.   setftp(ZMODEM);
  199.   longwait=10000;
  200.   systems("Filer_OpenDir "+uploaddir+" 10 290 768 256 -sn -li");
  201.   tprints("\f"+newline+bold+green+"CIXdial by Paul Vigay (c)1995"+newline+attr_off+white);
  202.   f=check_files();
  203.   redial=1;
  204.   if (f==0)
  205.   {
  206.     while (redial==1)
  207.     {
  208.       line=2;
  209.       tprints(newline+bold+cyan+"Calling CIX - Please wait...."+newline+attr_off+white);
  210.       dial("0181 255 5252");
  211.       if (getprompt("login:",3000))
  212.       {
  213.         sprints("qix\r");
  214.         if (getprompt("user)",6000))
  215.         {
  216.           // Insert your USER NICKNAME into the following line (leave the \r)***************
  217.           sprints("nickname\r");
  218.           if (getprompt("Password:",2000))
  219.           {
  220.             // Insert your PASSWORD into the following line (leave the \r)******************
  221.             sprints("PASSWORD\r");
  222.             redial=0;
  223.             getprompt("Main",longwait);
  224.             grab_messages();
  225.             grab_mail();
  226.             send_messages();
  227.             send_mail();
  228.              // Uncomment the following four lines to do Usenet messages!
  229.              grab_newsnet();
  230.              send_newsnet();
  231.              sprints("quit\r");
  232.              getprompt("Main",longwait);
  233.            }
  234.           else call_fail("no password prompt");
  235.         }
  236.         else call_fail("no username prompt");
  237.       }
  238.       else call_fail("no login prompt");
  239.       if (redial==1)
  240.       {
  241.         tprints(newline+bold+yellow+"About to redial. ");
  242.         for (loop=10;loop>0;loop--)
  243.         {
  244.           sprinti(loop);
  245.           sprints(" ");
  246.           pause(100);
  247.         }
  248.         tprints(newline+attr_off+white);
  249.       }
  250.     }
  251.     emptybatch(TX);
  252.     emptybatch(RX);
  253.     tprints(newline+bold+red+"OK. Script ended. It's up to you now!!!"+newline+attr_off+white);
  254.   }
  255.