home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / internet / mailbot / !MailBot / Docs / BotDocsT < prev    next >
Encoding:
Text File  |  1995-02-26  |  26.8 KB  |  739 lines

  1.  
  2. MailBot Reference Manual - ASCII Version
  3. Freebieware © Tony Howat 1994, 1995
  4.  
  5. v1.20 (26th Feb 1995)
  6.  
  7. ---
  8.  
  9. Mailbot is © Tony Howat 1994, 95 and is freebieware - i.e. distribution is
  10. unlimited, but :
  11.  
  12.      No charge may be made for this software,
  13.      The software must be distributed as a complete package,
  14.      The software should not be modified and distributed,
  15.      Any handling fee charged by PD libraries must be nominal (<£1).
  16.  
  17. FreebieWare[tm] also requires any commercial organisation using this
  18. program to send the author a freebie. Anything from a biro to a company
  19. car. Not only will you satisfy the conditions of FreebieWare[tm] but you
  20. will also gain some shameless advertising in future releases of MailBot.
  21. The address to send any freebies to is :
  22.  
  23.      Tony Howat
  24.      12 Dover Road
  25.      Birkdale
  26.      Southport
  27.      Merseyside
  28.      PR8 4SY
  29.  
  30. Enquiries/suggestions/bug reports relating to MailBot should be e-mailed to
  31. thowat@xargle.demon.co.uk.
  32.  
  33. To find out about the latest release of MailBot e-mail a blank message to
  34. mbv@xargle.demon.co.uk. Any new releases are announced on comp.sys.acorn
  35. and demon.ip.support.archimedes. The latest official release of
  36. MailBot is always availiable by FTP from ftp.demon.co.uk in
  37. pub/archimedes/developers.
  38.  
  39. The Incredible Flying Frisbee Company is, of course, a fictional company;
  40. but you knew that, didn't you?
  41.  
  42. ---
  43.  
  44. CONTENTS
  45.  
  46. - Introduction
  47.  
  48. 1.0       What MailBot does
  49. 1.1       Features
  50. 1.2       Possible Applications of MailBot
  51.  
  52. - Configuration
  53.  
  54. 2.0       Command line parameters
  55. 2.1       How MailBot fits in with KA9Q & Debatchers
  56. 2.2       The Exclude file
  57.  
  58. - Writing MailBot Scripts
  59.  
  60. 3.0       Introduction to MailBot Scripts
  61. 3.1       Example MailBot script
  62. 3.2       Testing MailBot scripts
  63. 3.3       MailBot commands
  64.  
  65. - Error Messages
  66.  
  67. 4.0       General errors
  68. 4.1       Script Syntax errors
  69.  
  70. ---
  71.  
  72. 1.0 What MailBot does
  73. ~~~~~~~~~~~~~~~~~~~~~
  74.  
  75. The Incredible Flying Frisbee Company, being the trendy organisation that
  76. they are, have an Internet connection, so all their customers can e-mail
  77. orders and find out about new products.
  78.  
  79. T.I.F.F.C. use an Acorn machine running KA9Q to access their Demon account.
  80.  
  81. One of the services tiffc.demon.co.uk offers is an information system,
  82. where customers can mail info@tiffc.demon.co.uk and information concerning
  83. T.I.F.F.C. products will be returned to them. Up until now this was run by
  84. hand, every request had to be replied to manually.
  85.  
  86. Not any longer, for MailBot is here. 
  87.  
  88. Mailbot searches a mailbox, and sends a reply to every message in that
  89. mailbox containing a specified file. There are hundreds of possible uses
  90. for this simple function, and it acts as an invaluable replacement for
  91. finger on systems which are not on line 24hrs a day.
  92.  
  93. ---
  94.  
  95. 1.1 Features
  96. ~~~~~~~~~~~~
  97.  
  98. Features
  99.  
  100.  Versatile script language
  101.  Can send any number of messages in response to each request
  102.  Can trigger other programs
  103.  Can search any number of mailboxes
  104.  Optional logging of requests to a file
  105.  Mail loops prevented
  106.  Header and footer files
  107.  Exclusion facility for troublesome users
  108.  
  109. Suggestions for new facilities are welcomed by the author, see the front of
  110. this manual for contact addresses.
  111.  
  112. Details of the latest version of MailBot can be obtained by sending a
  113. message to mbv@xargle.demon.co.uk, and any new releases are announced on
  114. comp.sys.acorn.announce and demon.ip.support.archimedes.
  115.  
  116. ---
  117.  
  118. 1.3 Possible Applications of MailBot
  119. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  120.  
  121. • Making a document or program availiable on your system but keeping  
  122.   track of who has a copy.
  123. • Providing information on a company's products or services.
  124. • A fortune cooky server.
  125. • A substitute for finger for info on users (users of mailbot on a single
  126.   user system should create an "aboutme" mailbot).
  127.  
  128. ---
  129.  
  130. 2.0 Command Line Parameters
  131. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132.  
  133. The actual MailBot application is run in the form :
  134.  
  135.      mailbot <scriptfile> [-q(uiet)]
  136.  
  137. Where <scriptfile> is the MailBot script to interpret. Appending "-q" to the
  138. mailbot command in the !Run file will suppress all non-essential messages.
  139.  
  140. If no parameters are supplied Mailbot refers to the system variables
  141. MailBot$ScriptFile and MailBot$Options. In normal use these are set in
  142. the !MBotUser.!Options file. So, for silent running you load
  143. !MBotUser.!Options into a text editor, and insert a Q inbetween the quotes
  144. of the line setting MailBot$Options.
  145.  
  146. ---
  147.  
  148. 2.1 How MailBot fits in with KA9Q and debatchers
  149. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  150.  
  151. MailBot reads its input from <Mail$Dir>.spool.mail.text. This means
  152. !MailBot should be run before any debatchers such as !NewsBase or ka9q->rucp
  153. in your dialler script, that is, unless you can modify your debatchers to
  154. take their mail feed from a different directory to prevent them from
  155. debatching mail for !MailBot. Newsbase users can be modified to do this
  156. by loading the file "!NewsBase.transports.ka9q.params" and editing the
  157. line reading "in <Mail$Dir>.spool.mail.text.*" to "in Bot:User.OtherMail.*". 
  158. Once this modification has been performed !NewsBase will not find any e-mail
  159. until after MailBot has been run, preventing any problems. The mail files
  160. are moved by a program called "MailCopy" in the !MBotUser directory, this
  161. is called by the Obey file "!Finished". You should edit "!Finished" and
  162. comment out the "<Obey$Dir>.MailCopy" line if you are not using NewsBase.
  163.  
  164. Mail is sent by inserting directly into the SMTP queue in <Mail$Dir>.spool.
  165. mqueue.work/text.
  166.  
  167. The relevant sections of my SlipDial script (based on Rob Orwin's) with the
  168. modifications for MailBot follow:
  169.  
  170.   #######################
  171.   # Dial Demon and Log on
  172.   :dodial
  173.   set diff 4
  174.   set tmstrt 0
  175.   set tmend 0
  176.   ## kill off newsbase so it won't debatch Mailbot's mail
  177.   task /kill=“Newsbase”
  178.   
  179.   [*** Rest of :dodial unmodified ***]
  180.   
  181.   ###############################################
  182.   # Call has been terminated, so release the port
  183.   :terminate
  184.   task /kill=“TCP/IP”
  185.   message /close
  186.   message “Call Terminated” /centre
  187.   release
  188.   
  189.   # now pause for 1 second to allow RISC OS to sort out the display.
  190.   pause 1
  191.   
  192.   # run MailBot *then* Newsbase.
  193.   task “<Internet$Dir>.!MailBot.!Run”
  194.   task “<Internet$Dir>.!Newsbase.!Run”
  195.   
  196.   #now trim DemHist File
  197.   call trimfile <NNTP$Dir>.DemHist
  198.   
  199.   return 1
  200.  
  201. The next, and most important stage of configuration is writing the script.
  202. The section three explains how to do this.
  203.  
  204. ---
  205.  
  206. 2.2 The Exclude File
  207. ~~~~~~~~~~~~~~~~~~~~
  208.  
  209. The Bot:User.Exclude file should usually be non existant. It lists any users
  210. or groups of users you wish to prevent from using your mailbots. If a user's
  211. address matches a line in the Exclude file no responses are forwarded,
  212. and a note is made in the Log.
  213.  
  214. Hopefully you won't have to resort to using the exclude file, but it would
  215. be extremely naive to suppose that everyone will be ultra considerate about
  216. your paying for their requests (assuming you're using a dial up connection
  217. and you're paying 8) ).
  218.  
  219. Examples:
  220.  
  221. "@vfuture.demon.co.uk"
  222.  -- would ignore requests from john@vfuture.demon.co.uk,
  223.     bob@vfuture.demon.co.uk, phantom@vfuture.demon.co.uk etc.
  224.  
  225. "phantom@vfuture.demon.co.uk"
  226.  -- would ignore requests from phantom@vfuture.demon.co.uk.
  227.  
  228. "aol.com"
  229.  -- would ignore all requests from America On Line subscribers.
  230.  
  231. "x"
  232.  -- would ignore all requests from addresses including the letter x.
  233.  
  234.  
  235. As you may have guessed if an address contains a string from the exclude
  236. list it is ignored. Both the Reply-to: and From: lines are checked.
  237.  
  238. The list is dynamically allocated so you can exclude as many addresses
  239. as your wimpslot will allow.
  240.  
  241. ---
  242.  
  243. 3.0 Writing Mailbot Scripts
  244. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  245.  
  246. MailBot's scripting language is extremely simple, there are no user
  247. variables, comparative instructions or string handling functions etc.
  248.  
  249. The MailBot Script Language centres around box..endbox structures.  Most
  250. instructions work differently depending on whether they are used outside or
  251. inside one of these structures. 
  252.  
  253. Commands which set a value -----------------------------------------------
  254.    The commands botbox, replyto, botnic, organisation, header, footer
  255. and title if used outside a box/endbox structure set a default value which
  256. is used if one is not explicitly defined inside a box...endbox structure,
  257. inside a box.. endbox structure these commands set the value locally, the
  258. value for each will return to the default at the endbox instruction.
  259.  
  260. <commands here set default values for all blocks>
  261. block [mailbox name]
  262.     <local copies of default values are made>
  263.     <commands here alter local values>
  264. endbox
  265.  
  266. Structural commands ------------------------------------------------------
  267.    box...endbox structures cannot be nested, so the box instruction is
  268. invalid inside a box..endbox area, and the endbox command is invalid
  269. outside of a box..endbox structure. The end command can only be used in
  270. the main body of the program, not inside a box..endbox structure.
  271.  
  272. Miscellaneous commands ---------------------------------------------------
  273.    The run and logon commands can be used anywhere in the script, though
  274. logon should only really be called at the start of a script.
  275.  
  276. Parameters ---------------------------------------------------------------
  277.    Commands in MailBot Scripts need either one parameter (usually a
  278. string) or none. As a consequence of this no quotes are needed to enclose
  279. strings for passing to commands e.g.
  280.  
  281.    title "I love my frisbee"
  282.  
  283. will produce a title line of :
  284.  
  285.    Subject: "I love my frisbee"
  286.  
  287. Omitting the quotes in the subject statement will remove the quotes in the
  288. resulting Subject line.
  289.  
  290. The send command ---------------------------------------------------------
  291.    The send command only functions inside a box...endbox structure.
  292.  
  293. Comments -----------------------------------------------------------------
  294.    Comments may be inserted at any point in the code, by typing a hash (#)
  295. then the comment, but they should always be on a separate line to script
  296. statements e.g.
  297.  
  298.    # run program
  299.    run ADFS::4.$.Foo
  300.  
  301. is valid, but :
  302.  
  303.    run ADFS::4.$.Foo # run program
  304.  
  305. will not work.
  306.  
  307. The example script in the next section shows the script language being
  308. used in an (almost) real situation, which should help you understand what
  309. I'm going on about...
  310.  
  311. ---
  312.  
  313. 3.1 Example Script
  314. ~~~~~~~~~~~~~~~~~~
  315.  
  316. A simple example script follows, which provides the following MailBots :
  317.  
  318. three    Returns an information message and two random cookies from
  319.     the external program !CookieGen
  320. mailbot    Returns a single information file (mailbot.info)
  321. mbv    Returns a single information file (mailbot.version)
  322. aboutme    Returns a single information file (aboutme.me)
  323.  
  324. The script follows.
  325.  
  326.   # Global settings, used as defaults in 
  327.   # box definitions. 
  328.   #                                          .----------------------------.
  329.   botbox        mailbot                      : These lines are outside of :
  330.   thishost      tiffc.demon.co.uk            : the box definitions and so :
  331.   botnic        The TIFFC MailBot            : they are used as defaults. :
  332.   replyto       fatbob@tiffc.demon.co.uk    _: For example, any box which :
  333.   organisation  TIFFC                      <_    does not have its own    :
  334.   title         Mailbot Request Results      :   title defined will use   :
  335.   logon                                      :  "Mailbot Request Results" :
  336.   header        MyHeader                     '----------------------------'
  337.   footer        MyFooter
  338.   #
  339.   # Box definitions.
  340.   #
  341.   box three
  342.     title         1/3 About your request to the three MailBot.
  343.     send          three.info
  344.     title         2/3 A random cookie from the three MailBot.
  345.     run           Internet:!CookieGen.!Run
  346.     send          cooky.cooky
  347.     title         3/3 A random cookie from the three MailBot.
  348.     run           Internet:!CookieGen.!Run
  349.     send          cooky.cooky               .-^--------------------------.
  350.   endbox                                    :  This is a box definition  :
  351.                                             :  structure. This box uses  :
  352.   box mailbot                               : the run command to trigger :
  353.     title         MailBot Information       :  a fortune cooky program   :
  354.     send          mailbot.info              '----------------------------'
  355.   endbox
  356.   
  357.   box mbv
  358.     title         MailBot Version Information
  359.     send          mailbot.version
  360.   endbox
  361.   
  362.   box aboutme
  363.     organisation  Cakes n' Lard
  364.     title         All about Fat Blobby Bob esq.
  365.     send          aboutme.me
  366.   endbox
  367.   
  368.   end
  369.  
  370. MailBot expects to find its script in the location given to it as the first
  371. command line parameter, by default the script file used is "Script" inside
  372. the !MailBot directory.
  373.  
  374. ---
  375.  
  376. 3.2 Testing MailBot Scripts
  377. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  378.  
  379. To test MailBot scripts you can either ask a helpful user to try your
  380. system, invariably wasting alot of phone calls, or you can test things
  381. locally.
  382.  
  383. This may seem straightforward enough, you simply send a message to your
  384. own MailBot as you would any other message, but if you're using Newsbase
  385. & TTFN it's pretty difficult quitting Newsbase before it debatches the
  386. mail you've just sent and throws it at the postmaster. "mbst" (or MailBot
  387. Simple Tester) is a short program which works around this, creating test
  388. messages directly in the mailbox area ready for MailBot. Users
  389. of other mailers & debatchers may also find testing using "mbst" more
  390. convienient as you do not need to mess round with KA9Q as much to get
  391. the messages in the right place.
  392.  
  393. Before you can use "mbst" you should configure it. Double click on
  394. !MBotUser and load the file "MBSTConfig". Alter the username & hostname
  395. to your own.
  396.  
  397. To run the test program hold the right hand alt key down as you double click
  398. on !Mailbot. You will be prompted for a destination mailbot, type the name
  399. of the existing mailbot on your system which you wish to test, press return.
  400. The local message will be generated, and !Mailbot will be started immediately
  401. afterwards. The replies will now be in you mail queue, waiting to be sent
  402. back to you. You can either wait for these to echo back next time you log
  403. into demon, or you can run KA9Q, type "sm ga <your host name>" then "sm ki".
  404. Your responses from your mailbot will then be sorted into the mailboxes ready
  405. to be debatched.
  406.  
  407. >> N.B. When setting yourself as the smtp gateway and kicking the queue you
  408. >>      must make sure there are no messages for hosts other than your own
  409. >>      in the queue, otherwise mail waiting to be sent onto the internet
  410. >>      will arrive in local mailboxes on your system.
  411.  
  412. ---
  413.  
  414. 3.3 MailBot Commands
  415. ~~~~~~~~~~~~~~~~~~~~
  416.  
  417. botbox -------------------------------------------------------------------
  418.                      Sets the e-mail address of a mailbot.
  419.   Syntax
  420.                      botbox <address>
  421.   Parameters
  422.                      <address> the e-mail address for the mailbot to
  423.                      respond as - i.e. the from address.
  424.   Use
  425.                      Valid in or outside of a box definition
  426.   Example
  427.                      botbox mailbot@tiffc.demon.co.uk
  428.   Related Commands
  429.                      botnic, thishost, replyto
  430.  
  431. thishost -----------------------------------------------------------------
  432.                      Sets the hostname of a mailbot.
  433.   Syntax
  434.                      thishost <mailbox>
  435.   Parameters
  436.                      <hostname> the hostname for the mailbot to use in SMTP
  437.                      headers.
  438.   Use
  439.                      Valid in or outside of a box definition, but should
  440.                      always be set to the same hostname as KA9Q.
  441.   Example
  442.                      hostname tiffc.demon.co.uk
  443.   Related commands
  444.                      botnic, botbox, replyto
  445.  
  446. replyto ------------------------------------------------------------------
  447.                      Sets the reply to address of a mailbot.
  448.   Syntax
  449.                      replyto <hostname>
  450.   Parameters
  451.                      <replyto> the reply for the mailbot to use in SMTP
  452.                      headers. This should be a valid address, and one
  453.                      which does not belong to a mailbot. Preferably it
  454.                      should be set to the Sysop's e-mail address, or the
  455.                      postmaster account on your system.
  456.   Use
  457.                      Valid in or outside of a box definition.  
  458.                      
  459.   Example
  460.                      reply fatbob@tiffc.demon.co.uk
  461.   Related commands
  462.                      botnic, botbox, thishost
  463.  
  464. botnic -------------------------------------------------------------------
  465.                      Sets the textual name of a mailbot.  
  466.   Syntax
  467.                      botnic <name>  
  468.   Parameters
  469.                      <name> the name for the mailbot to use in SMTP
  470.                      headers alongside the from address set using botbox.  
  471.   Use
  472.                      Valid in or outside of a box definition, but should
  473.                      always be set to the same hostname as KA9Q.
  474.   Example
  475.                      botnic My Little MailBot
  476.   Related commands
  477.                      botbox, organisation
  478.  
  479. organisation -------------------------------------------------------------
  480.                      Sets the text for the 'Organisation' line of the mail
  481.                      headers to address of a mailbot.                     
  482.   Syntax
  483.                      organisation <text>      
  484.   Parameters
  485.                      <text> is the the to appear in the 'Organisation' line
  486.                      in the SMTP headers.                     
  487.   Use
  488.                      Valid in or outside of a box definition.
  489.   Example
  490.                      organisation The Software Factory                     
  491.   Related commands
  492.                      None really.                     
  493.  
  494. title --------------------------------------------------------------------
  495.                      Sets the title line for the next message (or the
  496.                      default if outside of a box definition) sent
  497.                      using the send command.
  498.   Syntax
  499.                      title <text>                     
  500.   Parameters
  501.                      <text> the text for the subject field for the next
  502.                      message sent.                     
  503.   Use
  504.                      Valid in or outside of a box definition.
  505.   Example
  506.                      box test
  507.                        title Test Mailbot
  508.                        send  test.text
  509.                      endbox
  510.  
  511.   Related commands
  512.                      send, box, endbox                     
  513.  
  514. box ----------------------------------------------------------------------
  515.                      Starts a mailbot box definition.                     
  516.   Syntax
  517.                      box <mailbox>
  518.   Parameters
  519.                      <mailbox> is the the mailbox name.           
  520.   Use
  521.                      Valid outside of a box definition - box/endbox
  522.                      structures cannot be nested. When inside a
  523.                      box/endbox structures title, organisation,
  524.                      replyto, botbox, botnic and thishost commands
  525.                      only act locally. Using these commands outside
  526.                      a box structure sets the defaults for when local
  527.                      values are not defined.
  528.   Example
  529.                      box aboutme                     
  530.   Related commands
  531.                      endbox, box, send.                     
  532.  
  533. send ---------------------------------------------------------------------
  534.                      Sends a file in reply to all messages sent to
  535.                      a box.                     
  536.   Syntax
  537.                      send <file>                     
  538.   Parameters
  539.                      <file> is the filename of a text file in relation
  540.                      to Bot:User.Files.                     
  541.   Use
  542.                      Valid inside of a box definition. There can be
  543.                      any number of send commands for each box segment.
  544.   Example
  545.                      box test
  546.                        title Test Mailbot
  547.                        send  test.text
  548.                      endbox
  549.  
  550.                      ...will send the file Files.test.text from inside
  551.                      the !MailBot directory with the title "Test Mailbot"
  552.                      in reply to any message sent to the "test" mailbox. 
  553.   Related commands
  554.                      send, box, endbox                     
  555.  
  556. endbox -------------------------------------------------------------------
  557.                      Ends a mailbot box definition.                     
  558.   Syntax
  559.                      endbox                     
  560.   Parameters
  561.                      No parameters.                     
  562.   Use
  563.                      Valid inside a box definition, title,
  564.                      organisation, replyto, botbox, botnic and thishost
  565.                      commands return to their global default actions.
  566.   Example
  567.                      endbox                     
  568.   Related commands
  569.                      box, send.                     
  570.  
  571. end ----------------------------------------------------------------------
  572.                      Ends the interpretation of a script.   
  573.   Syntax
  574.                      end                     
  575.   Parameters
  576.                      No parameters.                     
  577.   Use
  578.                      Only valid outside of box definitions, included for
  579.                      the sake of completeness, interpretation stops when
  580.                      the end of the file is met anyway.     
  581.   Example
  582.                      end
  583.   Related commands
  584.                      endbox
  585.  
  586. run --------------------------------------------------- altered in 1.20 --
  587.                      Runs an OS-CLI command or task.                     
  588.   Syntax
  589.                      run <os-command>                     
  590.   Parameters
  591.                      <os-command> is a standard operating system 'star'
  592.                      command.                     
  593.   Use
  594.                      Valid inside or outside of a box definition.
  595.  
  596.                      Typically used for altering data in files before
  597.                      they are sent.  
  598.  
  599.                      NEW IN V1.20 :
  600.                          When inside a box definition the run command is
  601.                          executed before every send command triggered by
  602.                          that box definition, when a run command is
  603.                          outside a box definition it is just executed
  604.                          once. For example, if you were triggering a cooky
  605.                          program and using 'run' and a user had sent two
  606.                          consecutive messages to the mailbot, the code :
  607.  
  608.                              box cooky
  609.                                run           Internet:!CookieGen.!Run
  610.                                title         Words for the wise
  611.                                send          cooky.cooky
  612.                              endbox
  613.  
  614.                          ...would send a different cooky in response to
  615.                          the two messages, whereas :
  616.  
  617.                              run           Internet:!CookieGen.!Run
  618.                              
  619.                              box cooky
  620.                                title         Words for the wise
  621.                                send          cooky.cooky
  622.                              endbox
  623.  
  624.                          ...would send the same cooky in response to
  625.                          the two messages.
  626.                    
  627.   Example
  628.                      run Filer_OpenDir ADFS::4.$ -FullInfo  
  629.   Related commands
  630.                      None.
  631.  
  632. logon --------------------------------------------------------------------
  633.                      Starts logging of requests to !Mailbot.Log.
  634.   Syntax
  635.                      logon
  636.   Parameters
  637.                      No parameters.                     
  638.   Use
  639.                      Valid anywhere in a script, but it only makes sense
  640.                      to have this command at the start of the script
  641.                      before any box declarations.
  642.   Example
  643.                      logon
  644.   Related commands
  645.                      None.
  646.  
  647. header -------------------------------------------------------------------
  648.                      Sets the filename of the header file to include
  649.                      before the text in later mailbot responses.
  650.   Syntax
  651.                      header <header file>
  652.   Parameters
  653.                      <header file> is the location of the header text
  654.                      file in relation to Bot:User.Files. As of v1.20
  655.                      "None" turns off this feature, no zero byte files
  656.                      are needed.
  657.   Use
  658.                      Valid inside or outside of a box definition.
  659.   Example
  660.                      header myheader
  661.   Related commands
  662.                      footer, send.
  663.  
  664. footer -------------------------------------------------------------------
  665.                      Sets the filename of the footer file to include
  666.                      before the text in later mailbot responses.
  667.   Syntax
  668.                      footer <footer file>
  669.   Parameters
  670.                      <footer file> is the location of the footer text
  671.                      file in relation to Bot:User.Files. As of v1.20
  672.                      "None" turns off this feature, no zero byte files
  673.                      are needed.
  674.   Use
  675.                      Valid inside or outside of a box definition.
  676.   Example
  677.                      footer myfooter
  678.   Related commands
  679.                      header, send.
  680.  
  681. ---
  682.  
  683. 4.0/4.1 Error Messages
  684. ~~~~~~~~~~~~~~~~~~~~~~
  685.  
  686. 4.0 General --------------------------------------------------------------
  687.           "Couldn't write - possibly too many files"
  688.           Failed to write a message into the mail queue, probably
  689.           because the spool.mqueue.text/work directory is full.
  690.           
  691.           "Couldn't open sequence file"
  692.           Sequence file spool.mqueue.sequence could not be read from or
  693.           written to.
  694.           
  695.           "Can't open script file"
  696.           The script file given to Mailbot as a parameter could not be
  697.           read from.
  698.           
  699.           "Failed to open log file"
  700.           Log file could not be open for write access.
  701.  
  702.           "Couldn't open header file <foo>"
  703.           The file <foo> could not be opened.
  704.  
  705.           "Couldn't open footer file <foo>"
  706.           The file <foo> could not be opened.
  707.                    
  708.           
  709. 4.1 Script Syntax Errors -------------------------------------------------
  710.           "Unknown command 'foo' in script"
  711.           An invalid command was found in the script.
  712.           
  713.           "Badly placed 'end'"
  714.           end command placed inside box structure, box definitions should
  715.           be completed with endbox before and end command.
  716.           
  717.           "thishost only legal outside box definitions"
  718.           ...so there.
  719.           
  720.           "Misplaced send command in script"
  721.           Send command placed out of a box definition
  722.  
  723.           "Misplaced endbox in command script"
  724.           An endbox command occurs in the script without a preceding
  725.           send command.
  726.           
  727.           "box without endbox in script"
  728.           Two consecutive box commands were met without an endbox
  729.           command between them.
  730.  
  731.           "<value> was not set at send"
  732.           An essential value had not been set before send was called,
  733.           essential values being thishost, botbox, replyto and title.
  734.    
  735. ---
  736.  
  737. Manual written by Tony Howat
  738. Proof reading by David Norris
  739. © Tony Howat 1994,95