Information Servers and TScript

One of the new, unique features of TNOS is the Information Servers. These are Hypertext drivers that allows tutorials, help systems, on-line surveys, etc. to be easily added to the BBS. The whole process is driven by a standard ASCII script file. The TNOS scripting language is named TScript, and is used for many features throughout TNOS.

Within TScript, all lines that begin with a '~' are control lines. All other lines are simply data. Special Text Control Sequences can be contained within a data line, allowing easy customization.

This message will serve to wet your appetite and also to document the file format until better documentation is available.

INFORMATION SERVER SCRIPT FILENAMES:

Who cares! The user never sees them, they see the description from the file's title line, and a number to use to choose the entry. The file must be in the spool/TUTOR, spool/NEWS, or spool/INFO sub-directories, depending on whether your wish this to be a general tutorial, a news item, or an information source. The file MUST have a ".tut" file extension to be displayed as a part of one of the Information Server menus.

When using TScript outside of the Information Servers, the filename has no restrictions at all.

TSCRIPT TITLE LINE:

The first non-blank line of the TScript file is special! It serves to provide the Information servers with the description of this particular entry. The title line can also allow you to nest into sub-directories easily. This allows sub-menus very painlessly.

The title line can start with preceeding spaces or tabs (they are ignored). This allows you to center the line, since this is the first line displayed to the user. The rest of the title line will be displayed as the file's description in the Information Server menu.

The title line is also used by the TScript command that allows you to send a mail message. The title line is used as the subject of all these mail messages.

If the title line starts with a tilde (~), it expects a line of this format:

          ~ subdir description

The 'subdir' is the name of a sub-directory within that directory. This allows you to define one-line files that make nested sub-menus.

Outside of the Information Servers, the first line of the TScript file has no special significance, other than that already mentioned involving mail files.

TSCRIPT TEXT CONTROL SEQUENCES:

There are a few special character sequences, which all begin with the '~' character. All other characters pass through unchanged. The special control sequences in data lines are:

     ~~  - replaced by a single '~' character
     ~n  - replaced with a newline character
     ~c  - replaced by the user's callsign
     ~e  - replaced by the Error variable
     ~b  - replaced with a bell character
     ~h  - replaced by the name of the host computer
     ~d  - replaced by the current date
     ~t  - replaced by the current time
     ~u  - un-terminate the current line; remove ending newline character
     ~l  - replaced by the elapsed time of this script, in seconds
     ~p  - replaced with the file position of the current data file
     ~0  - replaced by variable string 0
     ..    ............................. through
     ~9  - replaced by variable string 9
     ~i0 = replaced by value of index 0
     ..    ............................. through
     ~i9 = replaced by value of index 9

TSCRIPT CONTROL LINES:

All lines that begin with a '~' are treated as control lines by the TScript language. These special control lines are:

* Parameters marked with an asterisk (*) can be either a literal number an index counter (~i0 - ~i9), or a variable string (~0 - ~9)