home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / comm / tempest.lha / arexx.doc next >
Text File  |  1993-05-19  |  43KB  |  888 lines

  1.  
  2.  
  3.  
  4.             The "Official" AREXX Documentation for Tempest BBS 
  5.  
  6.    PLEASE  NOTE:   These  commands and Documentation have been done by
  7. Rick  Rumer (The Technician) and BUG REPORTS should be directed to me,
  8. either on NiteFall BBS {FAST!} or on Alpha-Waves {I logon once a month
  9. or so...} See the NiteFall BBS ad at the bottom for details...
  10.    Since  I've  added so many commands, this will be very confusing at
  11. first.   I'm  not  even  100%  sure  how to write these docs up...  If
  12. anyone  else feels they can do better, have at it!!  Please pardon the
  13. typos!!!
  14.  
  15.          As of 2-16-92, there are 204 commands !!!  (+/- 10 :  They've
  16. changed as I wrote these docs...)
  17.  
  18.  
  19.                               Chapter 1
  20.  
  21. (tm,c)XenoLink Emulation :  Since I happened to have this text file, this
  22. was  largeley the basis for the new commands.  Generally, they are all
  23. in  here,  with  several  differences  which  will be mentioned in the
  24. actual  command parameter section...  The GETVAR # & SETVAR # routines
  25. do  NOT  MATCH  the  current  ones I've used, so you will have to edit
  26. XenoLink scripts manually to reflect the appropriate command #.
  27.  
  28. (tm,c)Paragon  Emulation  :   Only  the  original  ones  Tim  had  in are
  29. avaliable  for  Emulation.   If  you  have  a list of commands (NOT an
  30. actual  AREXX  script)  that can be added in, please send it to me and
  31. I'll do my best to get it all in there...
  32.  
  33. (tm,c)C-Net  Emulation :  Only the original ones Tim had in are avaliable
  34. for  Emulation.   If  you have a list of commands (NOT an actual AREXX
  35. script) that can be added in, please send it to me and I'll do my best
  36. to get it all in there...
  37.  
  38. (tm,c)BBS-PC!  Emulation :  To my knowledge, it doesn't support AREXX, so
  39. no emulation has been done...  (Duh!)
  40.  
  41. (tm,c)Ami-Express Emulation :  TBA -- A list is on it's way....
  42.  
  43. (tm,c)Dialog Emulation :  TBA -- A list is on it's way....
  44.  
  45.  
  46.  
  47.                 Chapter 2  -- Using AREXX with Tempest
  48.  
  49.    OK,  if  you've written in AREXX before, AND know how to use it for
  50. Tempest  V1.4T  and  newer, you can skip this section.  Otherwise, you
  51. may  want  to  examine  this  section,  even  if  it's only for review
  52. purposes.
  53.  
  54.    This  header  will  begin ALL AREXX programs you write for Tempest,
  55. and  will  probably  need to be changed if you're converting a program
  56. from another BBS system.
  57.  
  58. ------- cut here --------- cut here --------- cut here --------- cut here
  59.  
  60. ARG BBS_NODE
  61. options results
  62. Address value 'TempRexx-'BBS_NODE
  63.  
  64. ------- cut here --------- cut here --------- cut here --------- cut here
  65.  
  66.    Here is a line-by-line explanation of this code segment.
  67.  
  68. "ARG BBS_NODE"
  69.     This  automatically  picks up the NODE number that the user is on,
  70. and  stores  it into the variable BBS_NODE.  This is REQUIRED, or else
  71. if  two  users  (or  the SYSOP and a user) use the program at the same
  72. time,  they  will  collide, crashing one or both nodes, and of course,
  73. possibly GURUing!
  74.  
  75. "options results"
  76.    This  tells the AREXX program that the BBS will be sending us data,
  77. and  that  our received data should be avaliable in the FIXED variable
  78. "result".   (Note, that is NOT a typo!  results in the options line IS
  79. plural,  but  the  variable we get our answer in is NOT!).  By a FIXED
  80. variable,  I  mean  that  you  cannot change it.  The BBS will put the
  81. answer into RESULT no matter what (If there IS an answer/reply). You
  82. can, of course, COPY the contents of result to another variable. for
  83. example:  UserName = result
  84.  
  85. "Address value 'TempRexx-'BBS_NODE"
  86.    This  line needs to be broken down to be best understood.  the word
  87. "Address"  let's  AREXX know that we are going to have a fixed program
  88. (Tempest) to do our commuication with.  "Value" indicates that it will
  89. be  a  text  address,  rather  than  a  numerical  one (The standard).
  90. 'TempRexx-'  is PART of the actual address that your program will use.
  91. by  adding  the  BBS_NODE after it (NO SPACES!), you turn that address
  92. into  'TempRexx-1'  (for node 1) etc etc..  This allows us to have ONE
  93. program  that can be used on multi-node boards, without having to have
  94. more  than  one copy of the program.  Needless to say, if this line is
  95. omitted,  the AREXX program won't know where to send/receive data, nor
  96. will  the BBS, so both will be locked until either they both crash, or
  97. you reboot.  Whichever one comes first!
  98.  
  99.    After  you  have  the  header  as  listed  above,  you are ready to
  100. continue  on  into  the  wonderful world of AREXX.  The code varies so
  101. much  beyond theses lines, that I won't even touch on the subject.  To
  102. even  attempt  it would push this document well over the intended file
  103. size....   So,  with this much under our belt, and a good attitude, we
  104. procede on to the Command Set.
  105.  
  106.  
  107.                      Chapter 3 -- The Command Set
  108.  
  109.                           Command parameters
  110.  
  111.    Please  note  that YES, some commands are duplicated, and there are
  112. different  formats  with  the  same  results.   This  is  due  to  the
  113. imitation/emulation  of  the  various BBS programs avaliable, and also
  114. makes  it  possible  to use most avaliable script even in an unaltered
  115. state.  As I get more lists of commands, there may be even more added,
  116. depending on the Tempest Owner's demand for it.
  117.  
  118.    IMPORTANT  NOTE:   Even though you see all these commands listed as
  119. uppercase  letters,  you  are  NOT  required  to do that.  It makes it
  120. easier  to  read,  but  that's  it.   The can be all lowercase, or any
  121. mixture.    When   the   BBS   receives  the  code,  it's  done  in  a
  122. non-case-sensitive  compare,  so  however you wanna do it is fine.  It
  123. MUST be spelled correctly though!  I can't compensate for that!
  124.  
  125.    There are three basic command types supported :
  126.  
  127. 1) COMMAND
  128. 2) COMMAND FUNCTION
  129. 3) COMMAND FUNCTION PARAMETER
  130.  
  131.    The  command  type  (option one) is a general command, that usually
  132. won't have a result returned.  For example :  EXIT, BufferFlush
  133.  
  134.    The  command  &  function is the one that will probably be the most
  135. commonly  used.   It  involves  the  command,  and  a  function  to be
  136. performed on it.  An example would be :  'GetVar' '1'
  137.  
  138.    The  command,  function,  and  parameter  will  be  mostly used for
  139. intercommunication with the BBS itself.
  140. An example would be :  PUTVAR 1 'This is User's Name'
  141.  
  142.    Ok,  after  understanding  that,  I'll  now attempt to explain each
  143. command, it's function, and any parameters that might be required.
  144.  
  145.  
  146.  
  147.                      Command List - Alphabetical
  148.  
  149. ADDPOINTS
  150.    Currently not defined, and is ignored. No result returned.
  151.  
  152. ADDTIME
  153.    Currently not defined, and is ignored. No result returned.
  154.  
  155. BBSIDENTIFY BBS|ABBEREXX|USER|TERM|ANSI
  156.    This  command  takes  one  of  five possible functions.  The result
  157. returned will be determined as follows:
  158.  
  159.    BBSIDENTIFY BBS         = returns the Tempest BBS (c) 1991 message
  160.    BBSIDENTIFY ABBEREXX    = returns the version of the BBS
  161.    BBSIDENTIFY USER        = returns User's Name, Location, and
  162.                              security level, all seperated by a space,
  163.                              and each item enclosed in quotes.
  164.    BBSIDENTIFY TERM        = Returns Baud rate they are currently at, 
  165.                              and a simple 8N1 Full-Duplex string.
  166.    BBSIDENTIFY ANSI        = Returns an Integer value of 0 or 1,
  167.                              which indicates if they have ANSI on or
  168.                              off.
  169.  
  170. BUFFERFLUSH
  171.    Flushes  any characters, commands, or garbage (line noise) from the
  172. buffer,  so that the AREXX program can start clean.  This ensures that
  173. accidental  commands won't be entered accidentally.  I recommend EVERY
  174. program  use  this  command  as their first program instruction (After
  175. setting  up  the  address  value statement, of course!).  This command
  176. does  not  use any parameters, and any given will be ignored.  It also
  177. does not return anything to the program in Result.
  178.  
  179. CHECKABORT
  180.    Currently not defined, and is ignored. No result returned.
  181.  
  182. CHECKIO
  183.    Currently not defined, and is ignored. No result returned.
  184.  
  185. CLS
  186.    This  command stands for CLear Screen.  It merely clears the screen
  187. (User's and SYSOP's) and places the cursor in the upper left corner of
  188. the screen, usually called "HOME".
  189.  
  190. EXIT
  191.    Tell  the  BBS  that  the  arexx  port does not need to be open any
  192. longer.   The  user  will  be  returned to the BBS at this point.  The
  193. arexx  program CAN still run and do various cleanup utilities, but may
  194. NOT call on any more information from the BBS.
  195.  
  196. EXITSCRIPT
  197.    This  command  is used by Xenolink BBS, and Tempest support is only
  198. partial at this time.  Under Xenolink, this command returns control to
  199. the  BBS,  but  the  arexx  script  is still active, so when the arexx
  200. script  executes another BBS command, the user is yanked back into the
  201. Arexx script again.  In the Tempest emulation of this, it merely exits
  202. back  to  the  BBS, leaving the arexx script still running.  The arexx
  203. program  CANNOT  get  BACK to the BBS however, nor can it call anymore
  204. BBS  functions,  since  the  connection has been broken at that point.
  205. This  may change in the future.  Currently, 'EXIT' is the command that
  206. should be used in place of this one.
  207.  
  208. GETCARRIER
  209.    This  command  checks to verify that the user has not hungup on the
  210. BBS.   If  this test returns "TRUE", then the connection is ok.  if it
  211. returns  "FALSE"  you  will  need  to  exit your program as quickly as
  212. possible,  so  that  the  BBS  may reset for the next caller.  results
  213. returned are "TRUE" for carrier present, and "FALSE" for no carrier.
  214.  
  215. GETCHAR  [string]
  216.    This  command  does  not  require  a parameter, but can accept one.
  217. This  was  to maintain compatibility with Xenolink BBS.  If a paramter
  218. is present, it will be sent to the output.  The routine then waits for
  219. the  user  to  press one key, and the key pressed will be contained in
  220. Result.   (This  is also known as a HOTKEY function.) If the parameter
  221. is NOT present, no change will be made to the output.
  222.  
  223. GETLINE NORMAL|HIDE|YESNO|NOYES [string]
  224.    This routine accepts input of up to 80 characters. The options that
  225. affect the procedure on this are listed below.
  226.    GETLINE  NORMAL   =  Prints the [string] to the output, both SYSOP
  227.                         and user, and inputs a normal answer, which is
  228.                         returned in the variable result.
  229.    GETLINE  HIDE     =  Currently this is a clone of NORMAL. I could
  230.                         not discern any difference....
  231.    GETLINE  YESNO    =  This prints the string, and accepts a HOTKEY
  232.                         answer of Y or N, defualting to Y if N was not
  233.                         selected. Returns the key that was pressed in Result.
  234.    GETLINE  NOYES    =  This prints the string, and accepts a HOTKEY
  235.                         answer of Y or N, defualting to N if Y was not
  236.                         selected. Returns the key that was pressed in Result.
  237.  
  238. GETUSER
  239. GETUSERVAR
  240. GETVAR      [Number between 1 and 62 inclusive|KEYWORD]
  241.    These  three commands ALL do the same thing, but are cloned for the
  242. convenience of emulating the various BBS programs.  Since this command
  243. accepts  two  types  of  parameters,  let  me  attempt to explain.  To
  244. succesfully  emulate  Xenolink,  I  had  to  accept  words, as well as
  245. numbers.  This means that BOTH do the same thing, but since Xenolink's
  246. vocabulary is somewhat limited, the numbers offer more functions.  The
  247. word equivelents can be used, but for Tempest programming, I recommend
  248. the  numbers.   The  opposites of this command are PUTVAR, SETUSERVAR,
  249. and  PUTUSER.   PLEASE  NOTE:   Some  of these commands are READ-ONLY,
  250. which  means  you can read them, but no function is avaliable to write
  251. it  back out.  This has been done for safety's sake.  For example, you
  252. can  read  the name of the BBS, and the SYSOP's name, but it cannot be
  253. changed  in the BBS.  (The AREXX program can alter it in itself all it
  254. wants, it just won't be saved to the BBS....)
  255.  
  256.       Please be patient here, as there are approximately 80 variations
  257. of this command!
  258.  
  259.                 The WORD commands : Alphabetical Order
  260.  
  261.     BYTERATIO              User's Byte Ratio (xx/1) Returns ratio.
  262.  
  263.     BYTESDOWNLOADED        User's Bytes Downloaded from the system.
  264.  
  265.     BYTESDOWNLOADEDTODAY   User's Bytes Downloaded TODAY.
  266.  
  267.     BYTESUPLOADEDTODAY     Amount User has uploaded TODAY
  268.  
  269.     CALLLIMITPERDAY        How many calls the user can make to the BBS
  270.                            in a 24 hour period.
  271.  
  272.     CALLS                  How many times the user has called the BBS
  273.                            since they joined it.
  274.  
  275.     CALLSTODAY             How many times the user has called today.
  276.  
  277.     COMPUTERNAME           The name of the Computer System the User
  278.                            entered at the time they filled out the
  279.                            application.
  280.  
  281.     COMPUTERNUMBER         Only included for Xenolink compatibility.
  282.                            currently returns "0".
  283.  
  284.     DATATELEPHONE          Returns the phone number the User entered
  285.                            at the time they filled out the
  286.                            application.
  287.  
  288.     DOWNLOADBYTES          Total Bytes the User has Downloaded.
  289.  
  290.     DOWNLOADS              Quantity of files the user has downloaded.
  291.  
  292.     FIDOCREDIT             For Xenolink compatibility. Returns
  293.                            "Not Implemented".
  294.  
  295.     FILESDOWNLOADEDTODAY   How many files the user has d/l today.
  296.  
  297.     FILERATIO              The User's File ratio.
  298.  
  299.     ILLEGALLOGINS          Same as Password Failures. Useful for
  300.                            Hacking detection. Returns the number of
  301.                            logon attempts since the last valid one.
  302.  
  303.     LOCATION               Where the user is from. (Can include
  304.                            spaces and commas!)
  305.  
  306.     MAXBYTESPERDAY         Maximum (in bytes) that the user can
  307.                            download in any one 24 hour period.
  308.  
  309.     MAXMSGSPERDAY          How many messages the user is allowed to
  310.                            post in one 24 hour period.
  311.  
  312.     MESSAGES               How many messages the user has posted since
  313.                            they joined the BBS.
  314.  
  315.     MSGSWRITTENTODAY       How many messages the user has written
  316.                            today.
  317.  
  318.     NAME                   (duh!) The User's Handle or Name.
  319.  
  320.     PASSWORD               User's Password. (We're having fun now!)
  321.  
  322.     PRIVILEGE              Same as Security Level. Included for
  323.                            Compatibility with Xenolink.
  324.  
  325.     TIMELIMIT              Maximum time a user is allowed online in
  326.                            any given 24 hour period
  327.  
  328.     UPLOADBYTES            How much the user has uploaded to the
  329.                            system, in bytes.
  330.  
  331.     UPLOADS                How many files the user has uploaded.
  332.  
  333.     VOICETELEPHONE         Returns the phone number the User entered
  334.                            at the time they filled out the
  335.                            application.
  336.  
  337.               The Numerical commands : Sequential Order
  338.  
  339.    Please  note  that  GETUSER,  GETUSERVAR,  and  GETVAR  can be used
  340. interchangedly,  but  since GETVAR is faster to type, I'll be using it
  341. for my examples.  OK?  If not, type it yerself...  He he he
  342.  
  343.    GETVAR 1       The User's Name or alias or handle.
  344.    GETVAR 2       The User's REAL Name (If used on your BBS)
  345.    GETVAR 3       The User's Password.
  346.    GETVAR 4       The User's Location. Some people use "Group" names
  347.                   here, in which case that would be the result.
  348.    GETVAR 5       The User's Phone Number.
  349.    GETVAR 6       The User's Computer Type. 
  350.    GETVAR 7       The User's Message Base Flags. This will be returned
  351.                   in the form of s string EXACTLY 40 characters. In
  352.                   each slot will be a "Y" or a "N". These represent
  353.                   access (or no access) to a particular area.
  354.                   Example:
  355.                      |GETVAR 7
  356.                      |flags=result
  357.                      |message "flags are: "flags" !"
  358.                   Which would print :
  359.                   flags are : YNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYN
  360.                   Each Y represents an area that permits access, and an
  361.                   N signifies no access.
  362.    GETVAR 8       The User's FileBase flags. Same as GETVAR 7 except
  363.                   it applies to the user's filebase access.
  364.    GETVAR 9       User's Global Flags. These represent various options
  365.                   that are listed in the setupBBS. When doing the account
  366.                   editing, and selecting "o" for options, these are the
  367.                   same ones, in the same order. They are a series of
  368.                   Y's and N's, just like the msg & filebase flags.
  369.    GETVAR 10      This is for SYSOP's only! This is a comment string,
  370.                   and can contain what you want it too. I personally
  371.                   use it to keep track of User's Birthdays. This cannot
  372.                   exceed 38 characters! It should NEVER be printed to
  373.                   the user, and is ONLY useful in application programs
  374.                   intended for SYSOP only use. 
  375.    GETVAR 11      The User's "Slot Number", or Account Number. This is the
  376.                   same number that they can use to logon with.
  377.    GETVAR 12      The User's File Ratio. A "0" represents disabled.
  378.    GETVAR 13      The User's Byte Ratio. A "0" represents disabled.
  379.    GETVAR 14      The type of ratio a user has. (Byte, File, or Both, 
  380.                   represented as a number. I don't know which is
  381.                   which right now....Sorry!)
  382.    GETVAR 15      UNUSED - For Future expansion. Results unreliable.
  383.    GETVAR 16      The User's Security level. 0-255 Usually. Default
  384.                   security level for a new user is 10.
  385.    GETVAR 17      The quantity of Uploads the user has made to the system.
  386.    GETVAR 18      The quantity of Downloads the user has made to the system.
  387.    GETVAR 19      The bytes the user has uploaded today, if any.
  388.    GETVAR 20      The bytes the user has downloaded today, if any.
  389.    GETVAR 21      The Message Area that the user will rejoin. (If enabled
  390.                   by the sysop.)
  391.    GETVAR 22      The File Area that the user will rejoin. (If enabled
  392.                   by the sysop.)
  393.    GETVAR 23      The amount of messages sent by the user today.
  394.    GETVAR 24      How many failed password attempts they've had since
  395.                   their last valid call.
  396.    GETVAR 25      New User Flag. Normally, this will only be a 1 if they
  397.                   have not had their account edited yet. A normal user
  398.                   would have a 0 here, indicating a validated user.
  399.    GETVAR 26      Preserve account. As of U-11, this is not active, but
  400.                   it should be soon. When set to 0, it has been determined
  401.                   that it is a normal account, and can be deleted if
  402.                   neccessary. If set to a 1, utilities such as The
  403.                   professor's "Lamer Exterminator" will NOT delete the
  404.                   account, regardless of status.
  405.    GETVAR 27      TimeBank. Contains the minutes a user has stored in the
  406.                   timebank. Note that this is ONLY useful to SYSOP's
  407.                   running my TimeVault Utility. This can be used for other
  408.                   things by SYSOPS who don't wish to run this utility, but
  409.                   be SURE to warn the potential SYSOP that this is being
  410.                   done! Otherwise chaos would prevail!!!
  411.    GETVAR 28      The number of bytes downloaded since the account became
  412.                   active.
  413.    GETVAR 29      The number of bytes uploaded since the account became
  414.                   active.
  415.    GETVAR 30      The User's Daily Download Limit, in bytes.
  416.    GETVAR 31      The User's Daily Upload Limit, in bytes.
  417.    GETVAR 32      The amount of uploads today, in bytes.
  418.    GETVAR 33      The amount of downloads today, in bytes.
  419.    GETVAR 34      The amount of time the user can be online per 24 hour
  420.                   period. (Time limit)
  421.    GETVAR 35      The name of the BBS SYSTEM... example: NiteFall BBS
  422.    GETVAR 36      The Name of the SYSOP. example: The Technician
  423.    GETVAR 37      The BBS's Telephone Number, if any was entered.
  424.    GETVAR 38      UNUSED - For Future expansion. Results unreliable.
  425.    GETVAR 39      UNUSED - For Future expansion. Results unreliable.
  426.    GETVAR 40      How many calls the BBS has received today.
  427.    GETVAR 41      How many callers at 300 baud today.
  428.    GETVAR 42      How many callers at 1200 baud today.
  429.    GETVAR 43      How many callers at 2400 baud today.
  430.    GETVAR 44      How many callers at 4800 baud today.
  431.    GETVAR 45      How many callers at 9600 baud today.
  432.    GETVAR 46      Aborted downloads to the system today. Not active as of
  433.                   U-11. Should be soon.
  434.    GETVAR 47      Aborted uploads to the system today. Not active as of
  435.                   U-11. Should be soon.
  436.    GETVAR 48      Uploads that have been resumed today. Not active as of
  437.                   U-11. Should be soon.
  438.    GETVAR 49      Downloads that have been resumed today. Not active as of
  439.                   U-11. Should be soon.
  440.    GETVAR 50      Maximum number of users allowed on the system.
  441.    GETVAR 51      How many minutes the BBS has been in use today. (NOTE:
  442.                   it does NOT tell you how many minutes the bbs has been
  443.                   online, just the amount USED!)
  444.    GETVAR 52      How many uploads the system has received today.
  445.    GETVAR 53      How many downloads the system has received today.
  446.    GETVAR 54      How many private messages have been sent to the sysop
  447.                   today. (Feedback)
  448.    GETVAR 55      New Users today. How many users have attempted to fill
  449.                   out applications. (Counts users that drop carrier, and
  450.                   those who choose not to register.)
  451.    GETVAR 56      How many public messages have been written today.
  452.    GETVAR 57      How many FILES (F-Mail) have been sent to the sysop.
  453.    GETVAR 58      Total number of calls the BBS has received since
  454.                   beginning operations.
  455.    GETVAR 59      Number of bytes downloaded today.
  456.    GETVAR 60      Number of bytes uploaded today.
  457.    GETVAR 61      How many minutes the last caller was online.
  458.    GETVAR 62      Name of the last caller.
  459.  
  460. INPUT [characters<80]
  461.    Accepts  an  input  string  from  the  user,  with  a maximum of 80
  462. characters.   The user will not be allowed to type past 80 characters,
  463. so  the  routine  has some built in error checking.  No string will be
  464. printed, even if passed to the routine.  See also :  PROMPT
  465.  
  466. INPUTWAITING
  467.    Currently not defined, and is ignored. No result returned.
  468.  
  469. KICKOFF
  470.    Force  a  user's  premature logoff.  Sends the BBS the same code as
  471. the  sysop  hitting  "F4",  for  Force Logoff.  Accepts no parameters.
  472. returns nothing.
  473.  
  474. LOGENTRY [string]
  475.    This will write the string [string] to the SYSOP's callerslog file.
  476. the function returns nothing.
  477.  
  478. MAYGETCHAR
  479.    Currently not defined, and is ignored. No result returned.
  480.  
  481. MENUSET
  482.    Currently not defined, and is ignored. No result returned.
  483.  
  484. MESSAGE  [string]
  485.    print  a  line  of  formatted  or  unformatted  text,  and places a
  486. carriage return at the end of the string. Nothing is returned.
  487.  
  488. MSG   [string]
  489.    This function performs the same as 'MESSAGE', but does NOT append a
  490. carriage return on the end.  the cursor remains at the last character.
  491. This function returns nothing.
  492.  
  493. NEWLINE
  494.    This  command  ONLY  prints  a  carriage return AND a linefeed.  NO
  495. parameters are accepted, and returns nothing.
  496.  
  497. OUTTEXT  [string]
  498.    see MSG; Included for emulation with Xenolink.
  499.  
  500. PROMPT   [string]
  501.    This  performs  much as the INPUT command, but also prints a string
  502. to  the output first.  example:  
  503.    PROMPT "Do you want me to delete your Hard  Drive?   [YES/NO] "
  504.    It  will  then  wait  until  the  user  enters a response (up to 80
  505. characters) and then return the answer in result.  Obviously this is a
  506. bad example, but you get the idea...  ;-)
  507.  
  508. PUTUSER
  509. PUTVAR
  510. SETUSERVAR [Number between 1 and 62 inclusive|KEYWORD]   [VALUE]
  511.    These  three commands ALL do the same thing, but are cloned for the
  512. convenience of emulating the various BBS programs.  Since this command
  513. accepts  two  types  of  parameters,  let  me  attempt to explain.  To
  514. succesfully  emulate  Xenolink,  I  had  to  accept  words, as well as
  515. numbers.  This means that BOTH do the same thing, but since Xenolink's
  516. vocabulary is somewhat limited, the numbers offer more functions.  The
  517. word equivelents can be used, but for Tempest programming, I recommend
  518. the  numbers.   The  opposites of this command are GETVAR, GETUSERVAR,
  519. and  GETUSER.   PLEASE  NOTE:   Some  of these commands are READ-ONLY,
  520. which  means  you can read them, but no function is avaliable to write
  521. it  back out.  This has been done for safety's sake.  For example, you
  522. can  read  the name of the BBS, and the SYSOP's name, but it cannot be
  523. changed  in the BBS.  (The AREXX program can alter it in itself all it
  524. wants, it just won't be saved to the BBS....)
  525.  
  526.    PLEASE  NOTE:  ALL of these commands return a value to result.  The
  527. command returned will be noted after the description of the command.
  528.  
  529.       Please be patient here, as there are approximately 80 variations
  530. of this command!
  531.  
  532.                 The WORD commands : Alphabetical Order
  533.  
  534.     BYTERATIO              User's Byte Ratio (xx/1). Accepts NUMERICAL
  535.                            input only. Anything else will be written
  536.                            as a ZERO. returns "OK13", since 13 is the
  537.                            numerical equivelent, if things went ok.
  538.  
  539.     BYTESDOWNLOADED        User's Bytes Downloaded from the system.
  540.                            Returns "OK28" if things went ok.
  541.  
  542.     BYTESDOWNLOADEDTODAY   User's Bytes Downloaded TODAY.
  543.                            Returns "OK33" if things went ok.
  544.  
  545.     BYTESUPLOADEDTODAY     Amount User has uploaded TODAY.
  546.                            Returns "OK32" if things went ok.
  547.  
  548.     CALLLIMITPERDAY        How many calls the user can make to the BBS
  549.                            in a 24 hour period. Returns "OK" if things
  550.                            went as planned. This feature is NOT found
  551.                            in the numerical listing.
  552.  
  553.     CALLS                  How many times the user has called the BBS
  554.                            since they joined it. Returns "OK" if
  555.                            everything went ok. this feature is NOT
  556.                            found in the numberical listing.
  557.  
  558.     CALLSTODAY             How many times the user has called today.
  559.                            Returns "OK" if all went well. This feature
  560.                            is NOT found in the numerical listing.
  561.  
  562.     COMPUTERNAME           The name of the Computer System the User
  563.                            entered at the time they filled out the
  564.                            application. This function returns "OK06"
  565.                            if it went ok.
  566.  
  567.     COMPUTERNUMBER         Only included for Xenolink compatibility.
  568.                            currently returns "1". No effect is made
  569.                            on anything, and no further information is
  570.                            saved into any accounts. It's here for
  571.                            compatibility ONLY.
  572.  
  573.     DATATELEPHONE          Returns the phone number the User entered
  574.                            at the time they filled out the
  575.                            application. Even though it's labelled
  576.                            data, generally in Tempest, unless it's a
  577.                            sysop, the number will be voice. This call
  578.                            returns "OK05" if all is well.
  579.  
  580.     DOWNLOADBYTES          Total Bytes the User has Downloaded.
  581.                            Returns "OK28" if it worked.
  582.  
  583.     DOWNLOADS              Quantity of files the user has downloaded.
  584.                            Returns "OK18" if the data was ok.
  585.  
  586.     FIDOCREDIT             For Xenolink compatibility. Returns
  587.                            "Not Implemented".
  588.  
  589.     FILESDOWNLOADEDTODAY   How many files the user has d/l today.
  590.                            Returns "OK20" when completed.
  591.  
  592.     FILERATIO              The User's File ratio. Returns "OK12" if
  593.                            all went ok.
  594.  
  595.     ILLEGALLOGINS          Same as Password Failures. Useful for
  596.                            Hacking detection. Returns the number of
  597.                            logon attempts since the last valid one.
  598.                            Should be no reason to write to this
  599.                            variable, but it's avaliable for Xenolink
  600.                            compatibility. Returns "OK24" if all is ok.
  601.  
  602.     LOCATION               Where the user is from. (Can include
  603.                            spaces and commas!) Make sure when writing
  604.                            this variable that you DOUBLE QUOTE the
  605.                            entire string, since usually it will
  606.                            contain commas, which AREXX interprets as a
  607.                            delimiter! Returns "OK04" if all is well.
  608.  
  609.     MAXBYTESPERDAY         Maximum (in bytes) that the user can
  610.                            download in any one 24 hour period. Returns
  611.                            "OK30" if all went well.
  612.  
  613.     MAXMSGSPERDAY          How many messages the user is allowed to
  614.                            post in one 24 hour period. Returns "OK" if
  615.                            it was completed. This function is NOT
  616.                            avaliable in the numeric listing.
  617.  
  618.     MESSAGES               How many messages the user has posted since
  619.                            they joined the BBS. Returns "OK" if the
  620.                            option was set well. This function is NOT
  621.                            avaliable in the numerical listing.
  622.  
  623.     MSGSWRITTENTODAY       How many messages the user has written
  624.                            today. Returns "OK23" after writing.
  625.  
  626.     NAME                   (duh!) The User's Handle or Name. Limited
  627.                            to 30 characters. Returns "OK01" if all is
  628.                            ok.
  629.  
  630.     PASSWORD               User's Password. (We're having fun now!)
  631.                            Returns "OK03" if it was changed ok.
  632.  
  633.     PRIVILEGE              Same as Security Level. Included for
  634.                            Compatibility with Xenolink. Return "OK16"
  635.                            if it worked out ok.
  636.  
  637.     TIMELIMIT              Maximum time a user is allowed online in
  638.                            any given 24 hour period. Returns "OK34" if
  639.                            the function went well.
  640.  
  641.     UPLOADBYTES            How much the user has uploaded to the
  642.                            system, in bytes. Returns "OK29" if it
  643.                            works well.
  644.  
  645.     UPLOADS                How many files the user has uploaded.
  646.                            Returns "OK17" when it works. (Sorry,
  647.                            getting tired of typing what it returns.
  648.                            It works fine...)
  649.  
  650.     VOICETELEPHONE         Returns the phone number the User entered
  651.                            at the time they filled out the
  652.                            application. Returns "OK05". 
  653.  
  654.               The Numerical commands : Sequential Order
  655.  
  656.    Please  note  that  PUTUSER,  SETUSERVAR,  and  PUTVAR  can be used
  657. interchangedly,  but  since PUTVAR is faster to type, I'll be using it
  658. for my examples.  OK?  If not, type it yerself...  He he he
  659.  
  660.    PUTVAR 1       The User's Name or alias or handle. Returns "OK01".
  661.    PUTVAR 2       The User's REAL Name (If used on your BBS). Returns
  662.                   "OK02".
  663.    PUTVAR 3       The User's Password. Returns "OK03".
  664.    PUTVAR 4       The User's Location. Some people use "Group" names
  665.                   here, in which case that would be the result.
  666.                    Returns "OK04".
  667.    PUTVAR 5       The User's Phone Number. Returns "OK05".
  668.    PUTVAR 6       The User's Computer Type.  Returns "OK06".
  669.    PUTVAR 7       The User's Message Base Flags. This will be returned
  670.                   in the form of s string EXACTLY 40 characters. In
  671.                   each slot will be a "Y" or a "N". These represent
  672.                   access (or no access) to a particular area.
  673.                   Example:
  674.                      |PUTVAR 7 "YNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYNYN"
  675.                      |status=result
  676.                      |if status = 'OK07' worked = OK
  677.                   Each Y represents an area that permits access, and an
  678.                   N signifies no access. Returns "OK07".
  679.    PUTVAR 8       The User's FileBase flags. Same as PUTVAR 7 except
  680.                   it applies to the user's filebase access. Returns
  681.                   "OK08".
  682.    PUTVAR 9       User's Global Flags. These represent various options
  683.                   that are listed in the setupBBS. When doing the account
  684.                   editing, and selecting "o" for options, these are the
  685.                   same ones, in the same order. They are a series of
  686.                   Y's and N's, just like the msg & filebase flags.
  687.                   Returns "OK09".
  688.    PUTVAR 10      This is for SYSOP's only! This is a comment string,
  689.                   and can contain what you want it too. I personally
  690.                   use it to keep track of User's Birthdays. This cannot
  691.                   exceed 38 characters! It should NEVER be printed to
  692.                   the user, and is ONLY useful in application programs
  693.                   intended for SYSOP only use. Returns "OK10".
  694.    PUTVAR 11      The User's "Slot Number", or Account Number. This is the
  695.                   same number that they can use to logon with. Returns
  696.                   "OK11".
  697.    PUTVAR 12      The User's File Ratio. A "0" represents disabled.
  698.                   Returns "OK12".
  699.    PUTVAR 13      The User's Byte Ratio. A "0" represents disabled.
  700.                   Returns "OK13".
  701.    PUTVAR 14      The type of ratio a user has. (Byte, File, or Both, 
  702.                   represented as a number. I don't know which is
  703.                   which right now....Sorry!) Returns "OK14".
  704.    PUTVAR 15      UNUSED - For Future expansion. Results unreliable.
  705.    PUTVAR 16      The User's Security level. 0-255 Usually. Default
  706.                   security level for a new user is 10. Returns "OK16".
  707.    PUTVAR 17      The quantity of Uploads the user has made to the system.
  708.                   Returns "OK17".
  709.    PUTVAR 18      The quantity of Downloads the user has made to the system.
  710.                   Returns "OK18".
  711.    PUTVAR 19      The bytes the user has uploaded today, if any.
  712.                   Returns "OK19".
  713.    PUTVAR 20      The bytes the user has downloaded today, if any.
  714.                   Returns "OK20".
  715.    PUTVAR 21      The Message Area that the user will rejoin. (If enabled
  716.                   by the sysop.)  Returns "OK21".
  717.    PUTVAR 22      The File Area that the user will rejoin. (If enabled
  718.                   by the sysop.) Returns "OK22".
  719.    PUTVAR 23      The amount of messages sent by the user today. Returns
  720.                   "OK23".
  721.    PUTVAR 24      How many failed password attempts they've had since
  722.                   their last valid call. Returns "OK24".
  723.    PUTVAR 25      New User Flag. Normally, this will only be a 1 if they
  724.                   have not had their account edited yet. A normal user
  725.                   would have a 0 here, indicating a validated user. Returns
  726.                   "OK25".
  727.    PUTVAR 26      Preserve account. As of U-11, this is not active, but
  728.                   it should be soon. When set to 0, it has been determined
  729.                   that it is a normal account, and can be deleted if
  730.                   neccessary. If set to a 1, utilities such as The
  731.                   professor's "Lamer Exterminator" will NOT delete the
  732.                   account, regardless of status. Returns "OK26".
  733.    PUTVAR 27      TimeBank. Contains the minutes a user has stored in the
  734.                   timebank. Note that this is ONLY useful to SYSOP's
  735.                   running my TimeVault Utility. This can be used for other
  736.                   things by SYSOPS who don't wish to run this utility, but
  737.                   be SURE to warn the potential SYSOP that this is being
  738.                   done! Otherwise chaos would prevail!!! Returns
  739.                   "OK27".
  740.    PUTVAR 28      The number of bytes downloaded since the account became
  741.                   active.  Returns "OK28".
  742.    PUTVAR 29      The number of bytes uploaded since the account became
  743.                   active.  Returns "OK29".
  744.    PUTVAR 30      The User's Daily Download Limit, in bytes. Returns
  745.                   "OK30".
  746.    PUTVAR 31      The User's Daily Upload Limit, in bytes.  Returns
  747.                   "OK31".
  748.    PUTVAR 32      The amount of uploads today, in bytes.  Returns
  749.                   "OK32".
  750.    PUTVAR 33      The amount of downloads today, in bytes.  Returns
  751.                   "OK33".
  752.    PUTVAR 34      The amount of time the user can be online per 24 hour
  753.                   period. (Time limit)  Returns "OK34".
  754.    PUTVAR 35      The name of the BBS SYSTEM... example: NiteFall BBS
  755.                   Returns "OK35".
  756.    PUTVAR 36      The Name of the SYSOP. example: The Technician
  757.                   Returns "OK36".
  758.    PUTVAR 37      The BBS's Telephone Number, if any was entered.   Returns
  759.                   "OK37".
  760.    PUTVAR 38      UNUSED - For Future expansion. Results unreliable.
  761.    PUTVAR 39      UNUSED - For Future expansion. Results unreliable.
  762.    PUTVAR 40      How many calls the BBS has received today.  Returns
  763.                   "OK40".
  764.    PUTVAR 41      How many callers at 300 baud today.  Returns "OK41".
  765.    PUTVAR 42      How many callers at 1200 baud today. Returns "OK42".
  766.    PUTVAR 43      How many callers at 2400 baud today. Returns "OK43".
  767.    PUTVAR 44      How many callers at 4800 baud today. Returns "OK44".
  768.    PUTVAR 45      How many callers at 9600 baud today. Returns "OK45".
  769.    PUTVAR 46      Aborted downloads to the system today. Not active as of
  770.                   U-11. Should be soon. Returns "OK46".
  771.    PUTVAR 47      Aborted uploads to the system today. Not active as of
  772.                   U-11. Should be soon. Returns "OK47".
  773.    PUTVAR 48      Uploads that have been resumed today. Not active as of
  774.                   U-11. Should be soon. Returns "OK48".
  775.    PUTVAR 49      Downloads that have been resumed today. Not active as of
  776.                   U-11. Should be soon. Returns "OK49".
  777.    PUTVAR 50      Maximum number of users allowed on the system. Returns
  778.                   "OK50".
  779.    PUTVAR 51      How many minutes the BBS has been in use today. (NOTE:
  780.                   it does NOT tell you how many minutes the bbs has been
  781.                   online, just the amount USED!) Returns "OK51".
  782.    PUTVAR 52      How many uploads the system has received today. Returns
  783.                   "OK52".
  784.    PUTVAR 53      How many downloads the system has received today. Returns
  785.                   "OK53".
  786.    PUTVAR 54      How many private messages have been sent to the sysop
  787.                   today. (Feedback) Returns "OK54".
  788.    PUTVAR 55      New Users today. How many users have attempted to fill
  789.                   out applications. (Counts users that drop carrier, and
  790.                   those who choose not to register.) Returns "OK55".
  791.    PUTVAR 56      How many public messages have been written today. Returns
  792.                   "OK56".
  793.    PUTVAR 57      How many FILES (F-Mail) have been sent to the sysop. Returns
  794.                   "OK57".
  795.    PUTVAR 58      Total number of calls the BBS has received since
  796.                   beginning operations. Returns "OK58".
  797.    PUTVAR 59      Number of bytes downloaded today. Returns "OK59".
  798.    PUTVAR 60      Number of bytes uploaded today. Returns "OK60".
  799.    PUTVAR 61      How many minutes the last caller was online. Returns
  800.                   "OK61".
  801.    PUTVAR 62      Name of the last caller. Returns "OK62".
  802.  
  803. QUERY [string]
  804.    See INPUT; Operation is identical.
  805.  
  806. SENDFILE [path:Filename]
  807.    Print a file from disk to the screen.  Great for viewing ANSI files
  808. on  the  BBS, since it ignores what Tempest's "R"ead command considers
  809. "binary"  code.   Also  useful for showing scripts, startup-sequences,
  810. etc to other sysops, or perhaps even program code (right Tim?  He he)
  811.  
  812. SENDSTRING  [string]
  813.    Prints  the  formatted or unformatted [string].  NO carriage return
  814. OR  linefeed  is added.  Useful for data positioning.  Same as MSG and
  815. OUTTEXT.
  816.  
  817. SETNODESTATUS
  818.    Currently not defined, and is ignored. No result returned.
  819.  
  820. SETUSERVAR  [parameter to alter] [altering value]
  821.    This  is a clone of PUTUSER and PUTVAR.  See those for function and
  822. paramter settings.
  823.  
  824. SYSOPLOG
  825.    See LOGENTRY; Included for Xenolink compatibility.
  826.  
  827. TIMEREMAINING
  828.    Currently not defined, and is ignored. No result returned.
  829.  
  830. TRANSMIT
  831.    See MESSAGE; Inlcuded for compatibility with emulation routines.
  832.  
  833.    Well,  if  you  read  this  from the top all the way to the bottom,
  834. let's  see  some GREAT utilities, features, or games!  Now there isn't
  835. ANY  reason  not  to do it!  If this isn't enough data for you to play
  836. with, I don't know what is!
  837.    As long as Tim wishes, and as long as I have an Amiga (or two ;-) )
  838. I'll  keep updating these DOCS and the code as neccessary to help keep
  839. Tempest on top!
  840.  
  841. Advertisement follows :
  842.                                           __
  843.                         __   _           /  \       _   _
  844.                        /_/__/ )_      __/ /\/      / ) / )
  845.                ____   _  /_  _ /____ /_  _/____   / / / /
  846.               / _  ) / )  / /  / _  ) / / / _  ) / / / /
  847.              / // /_/ /_ / /__/ (__/_/ /_/ // /_/ /_/ /_
  848.             /_//___/___//____/______/___/___\__/___/___/
  849.                               __     __
  850.                              / /    / /
  851.                             / /_   / /_    ______
  852.                            / _  ) / _  )  / ____/
  853.                           / // /_/ // /___\ \
  854.                          /______/___________/   -sk-
  855.  
  856.                Featuring the BEST of the Public Domain!
  857.  
  858.    This  file  happily  presented  to you from those of us on NiteFall
  859. BBS!   (515)  277-1320  (Des Moines, IA) 602 Megs!  2400 - 19.200 Baud
  860. USR  HST  DUAL STANDARD MODEM (300-1200 Message access only) 24 hrs, 7
  861. days a week Tempest BBS software AND a Tempest support site!
  862.  
  863.                    SUPPORTING THE NEW MNP-5 MODEMS!
  864.  
  865.                    CALL NOW!!!!  Access first call!
  866.                             The Technician
  867.  
  868.    If  you  got  a  busy  signal  before, try again NOW!  NiteFall has
  869. undergone  many changes to allow more users on !  Soon to be expanding
  870. to MULTI-NODE !!!!  Keeping up with the times....
  871.  
  872.  
  873.  
  874. *********** Comment, disclaimer ********
  875.  
  876. (tm,c) TradeMarks , Copyrights:
  877. All Programs mentioned in this file, are all copyrighted by there respective
  878. authors/company.  
  879. I will give credit to the company name / Author of the above programs, but 
  880. at this time I do not know there names,   [sorry] but if you wish to 
  881. contribute the information please call the NiteFall BBS.
  882.  
  883. The arexx commands used, are semi-compatable to allow users of
  884. different BBS programs to easily exchange programs between BBS platforms,
  885. if the SYSOP desires too, Not All commands are interchangable, but ones we 
  886. feel will allow enough flexibilty to the SYSOP so he/she may run a bbs system
  887. the way they want to run it.
  888.