home *** CD-ROM | disk | FTP | other *** search
-
- ===( Trion BBS Menu Commands )=================
-
-
- The trion BBS system works with menus , these consist of
- readable text files with commands and a pascal like structure.
-
- To make a menu is easy, menus have a simple structure and
- there are a lot of commands you can Use in a menu to
- create a complete BBS system.
- The first menu which is started when someone 'logs in' is
- the 'start.menu'.
- In a menu you can call other menus, so you
- can expand it almost infinitly.
-
- Before you can use a menu you have to 'compile' it, this
- is done by calling the 'menu' utility which checks your
- menus on errors and makes a binary file from it.
-
- The text files are called 'source' and the result of the
- menu compiler are the menus.
- You find the sources of the menus in the 'trion:menus/'
- directory, this also consist a subdirectory for the
- compiled menus.
-
-
- Compiling a menu: 'menu door.src'
- (compiles the 'door' menu)
-
- Wildcards are allowed: 'menu #?'
- (this compiles all menus)
-
-
-
- Example of a bit of menu:
- =========================
-
-
-
- Menu "start.menu" ; Name of the menu after compiling
-
- flags hotkeyable ; Make menu hotkeyable
- level 0 - 255 , "Start.Ansi" ; List with ANSI files and levels
- prompt 0 , 0 - 255 , "Start Menu : " ; List with prompts
- prompt 1 , 0 - 255 , "Start Menu : "
-
- BEGIN ; Start the command definitions
-
-
- Cmd "G" ; Reachable for all users.
- Print "Bye.|"
- Logout
- EndCmd
-
- Cmd "D" , 255 ; Reachable only to sysops.
- DosShell
- EndCmd
-
- Cmd "T" , 128 - 255 ; Users with level 128 or higher.
- GotoMenu "Test.Menu" ; Jump to an other menu
- EndCmd
-
- END ; End of commands section
-
-
-
- More about the menu structure:
- ==============================
-
- The first part of a menu is the definitions part.
- This tells the BBS how to execute the menu and what for
- screens and prompts te Use.
-
- Menu line:
-
- The first line should be 'Menu "name.menu"'
- This line tells the compiler how the binary file it
- makes is called. This is the file the BBS uses to
- execute a menu. When you call an other menu you
- also should use this name.
-
- flags, level and prompt lines:
-
- The next lines in the definitions part are lines where
- you can define flags, screens and prompts.
-
- At this moment there is only the flags 'hotkeyable' and 'noscreen'
- if you want to use hotkeys in this menu you put a line:
- 'flags hotkeyable' or 'FLAGS HOTKEYABLE' here.
- This means that the BBS doesn't wait for a return after
- the input of a user but directly interpretes every key a
- user hit in real time.
- The 'noscreen' flag was thougth up for menus which use doors
- for generating an ANSI or RIPscrip menu screen.
- If you put this after flags then the normal menu screen will
- not be printed.
-
-
- With the level lines you can define what screens are
- showed in combination with what level.
- The format of this line is:
- 'level level-range , screenfile'
-
- The system searched for the 'screenfile' in the directory
- 'trion:menutext/' if the menu set if the user is set 0.
- If the set is higher the system searches in directory
- 'trion:menutext1/' or 'trion:menutext2/' or higher.
- If there is no such directory or file the system uses the
- default 'trion:menutext/' directory.
-
- With the prompt lines you can define what prompt line is
- displayed under a menu screen.
- The format of this line is:
- 'prompt menu-set, level-range , prompt-line'
- Because of the menuset parameter you can make a line
- for each language set you use.
-
- There can be as many level or prompt lines as needed in your menu.
-
-
-
-
- The second part of a menu file is the commands section.
-
- This section start with a 'BEGIN' line and ends with a 'END'
- line.
- Between these lines are the commands.
-
- Command lines start with a 'Cmd "string"' part optionally
- folowed with levels or flags to indicate who can run this command.
- You can use a single level like '255' or a range like '10 - 255'.
- There are to possible flags you can use:
- S = sysop, only local (at the keyboard) can use the command.
- U = user, only remote users (at a serial port) can use the command.
- Flags and levels are separated by a comma.
-
- Examples:
-
- Cmd "A" ; Can be used by everyone.
- Cmd "A" , 5 - 255 ; Can be used by users with a level from 5 to 255.
- Cmd "A" , S ; Only to use localy.
- Cmd "A" , 255 , U ; Only to use remotely with a sysop level.
- Cmd "A" , SU ; Can be used everywhere
-
-
-
- Instead of 'Cmd' you also van use 'MenuBegin', 'MenuEnd',
- 'CommandBegin', 'CommandEnd' or 'BuildScreen'.
- With these you can execute an number of menu commands each
- time a command is started or finished, or when a menu is
- entered, or after the ANSI screen is drawn and the system
- is waiting for input.
-
- This is Usefull when you want to log whenever a user
- enters a menu, for example:
-
- MenuBegin
- LogMessage "Entered main menu."
- EndCmd
-
-
- Or when you want to use RIP-scrip commands in a menu:
-
- MenuBegin
- Print "!|" ;RIP-scrip mode on
- EndCmd
-
- MenuEnd
- Print "!|" ;RIP-scrip mode off
- EndCmd
-
-
-
- After a 'Cmd' line a number of lines with commands if followed
- after the last of these lines a 'EndCmd' line is needed.
-
-
- ; Write a comment to sysop
-
- Cmd "C" , 0-255
- CommentToSysop
- EndCmd
-
-
- ; Write a comment to a CoSysop
-
- Cmd "S" , 0-255
- ChangeMessageArea "1" ;Area 'comment to sysop'
- FlushBuffer
- PushIntoBuffer "Cosysop|"
- WriteMessage
- EndCmd
-
-
- ; Write a message to all
-
- Cmd "A" , 10-250
- ChangeMessageArea "5" ;Area 'Message To All'
- FlushBuffer
- PushIntoBuffer "All|"
- WriteMessage
- EndCmd
-
-
- ; Ask for a file and Download it
-
- Cmd "D"
- MarkFile
- Download
- More
- EndCmd
-
-
-
- ; Send an Allfiles file to the user
-
- Cmd "A"
- MarkName "ALLFILES.LHA"
- Download
- More
- EndCmd
-
-
-
- ; Ask for a file and Download it and logoff
-
- Cmd "G"
- MarkFile
- Download
- Logout
- EndCmd
-
-
- ; Let's new users scan for waiting mail
-
- Cmd "?" , 0- 255
- Confirm "Do you really want to scan for waiting mail (Y/n) ? "
- ScanWaitingMail
- More
- EndCmd
-
-
-
-
- Menu commands:
- ==============
-
- Commands may be in Uppercase, Lowercase or both mixed.
- Some commands need an 'argument', arguments may be placed between ""
- which means that that data is taken exactly as it was typed in, if
- you don't use "" the first word or number will be used en spaces
- will be removed.
-
-
-
-
-
- # Command:
- ========================================================================
-
- 1 Logout
-
- The user is logged of the system immediatly.
-
-
- 2 GotoMenu "name.menu"
-
- Goto the menu with name "name.menu".
-
-
- 3 Changelevel
-
- Asks for a new level for the user online.
-
-
- 4 Print "Text|"
-
- Prints text to the screen.
- Use the '|' character for a return to the next line.
-
-
- 5 ChangeAccesLevel "xxx"
-
- Change the level of the current user to "xxx".
-
-
- 6 Pause "50"
-
- This command waits a certain time before continuing, the time is
- given in 'ticks' wich is about 1/50 of a second.
- So Pause "50" waits 1 second.
-
-
- 7 More
-
- Asks the user to 'press return' to continue.
-
-
- 8 LogMessage "Text"
-
- Sends a line of text to the log file, you can use tilde codes,
- so you can log FI to which area a user changed.
- Note: don't use a return on the end of the line.
-
-
- 9 PrintFile "path/file"
-
- Prints a file to the screen and the serial port.
-
-
- 10 ClrScr
-
- Clears the screen.
-
-
- 11 PassWord "SecretWord"
-
- Asks for a password to continue.
- When after 3 tries the password is not entered correctly the
- execution of the command is stopt.
-
-
- 12 ConsolePrint "Text|"
-
- Prints a line of text to the screen (local), NOT to the serial
- port.
-
-
- 13 SerialPrint "Text|"
-
- Prints a line of text to the serial port (remote), NOT
- to the screen.
-
-
- 14 PageSysop
-
- Plays audio samples to get the attention of the sysop.
-
-
- 15 DosCommand "list" [, stack]
-
- Executes a doscommand Asynchonically.
- Default stack space is 8192 bytes (8 KB).
-
-
- 16 PlaySample "path/file" [, times]
-
- Plays an audio sample from disc.
- Default times it is played is once.
-
-
- 17 CliDoor "path/door" [, stack]
-
- Starts a programm like from a shell but with input and output
- via the BBS node the door is started in.
- Default stack space is 8192 bytes (8 KB).
-
-
- 18 DownloadFromDos
-
- With this command a user can download files directly from disc
- by entering the path and names of files.
-
-
- 19 RemoteShell
-
- Starts a shell with input and output through the node of the BBS.
-
-
- 20 LineEditFile
-
- Edits a psysical file in the Line Editor.
-
-
- 21 ChangePassword
-
- Asks user for a new password.
-
-
- 22 KillUser
-
- Removes a user from the user database.
-
-
- 23 ChangeAlias
-
- Asks for a new alias (AKA).
-
-
- 24 ChangeSet
-
- Asks for an other text(/menu) set.
-
-
- 25 UserList
-
- Lists all users , or searches for users with a wildcard.
- If a user with level 240 or greater uses this command, also
- the aliases will be visible.
-
-
- 26 AliasList
-
- Lists all Aliases , or searches for users with a wildcard.
- If a user with level 240 or greater uses this command, also
- the names will be visible.
-
-
- 27 ChangeScreenLength
-
- Ask for a new screen length to use for the current user.
-
-
- 28 EditUser
-
- Edit a user other than the user currently online.
-
-
- 29 FlushUserData
-
- Saves all the data from the current user to disc, this includes
- user account, file scan dates, last read messages.
-
-
- 30 RexxDoor "path/door" [, stack]
-
- This will start an Arexx script as a door from this node.
- Default stack space is 8192 bytes (8 KB).
-
-
- 31 DownloadLogout "nnn"
-
- This is a CountDown logout, it counts down from "nnn" seconds to
- zero and then logs of the user.
- The count down is interuptable so the user can go back to the BBS.
-
-
- 32 ChangeEditor "nnn"
-
- Changes the messages editor.
-
-
- 33 EditSignature
-
- Writes or Edits a text to conclude your messages.
-
-
- 34 EditUserOnline
-
- With this command you can edit the user currently online, this can
- be usefull is you login remote.
-
-
- 35 ChangeProtocol "nnn"
-
- Changes the File Transfer Protocol.
-
-
- 36 ParagonDoor "path/door" [, stack]
-
- Start a "Paragon" Door.
- Default stack space is 8192 bytes (8 KB).
-
-
- 37 MaxDoor "path/door" [, stack]
-
- Start a "Max's BBS" door , this was implemented to be able
- to use the Max's BBS CD-door.
- Default stack space is 8192 bytes (8 KB).
-
-
- 38 DosCommandSync "list" [, stack]
-
- Executes a doscommand and waits until it's finished (synchron).
- Default stack space is 8192 bytes (8 KB).
-
-
- 39 ViewArchive
-
- This will show the contents of an archive.
-
-
- 40 PreviousMenu
-
- This will jump back to the previous menu, it is only one jump
- deep, it is extremly usefull in menus you want to call from
- different menus.
- For example a file list or message read menu, if you use
- the PreviousMenu command in this kind of menus you can use
- the menu from different menus you made for different
- networks to read messages.
-
-
- 41 AddUser
-
- Add a User to the UserDatabase.
-
-
- 42 ModemCommand "commandstring"
-
- This command forces the modem in command mode, sends the
- commandstring to the modem, returns the modem online
- and shows the results.
- This is usefull with modems with a status command.
-
- If you use this line with a SupraFax V32B modem:
- ModemCommand "AT%Q%L"
-
- It displays the line quality and signal strength like this
- on your screen :
-
- 008
-
- 015
-
- OK
-
-
-
- 43 FlushBuffer
-
- Flushes the inputs of a user from the input buffer.
-
-
- 44 PushIntoBuffer "input"
-
- Pushes something in the input buffer. This gives the
- same effect as if the user typed the 'input' himself.
-
- With this you can write more complex commands, like
- a command to let users write messages to CoSysops.
-
- ChangeMessageArea "1" ;Change to area 'CommentToSysop'.
- FlushBuffer
- PushIntoBuffer "CoSysop|" ;Push receiver name in buffer.
- WriteMessage
- FlushBuffer ;Flush 'CoSysop' if no writeAcces
-
-
-
- 45 StartChat
-
- This command start the buildin chat mode, this is what would
- happen is the sysop hits the F1-key, this is usefull in
- a PageSysop door that lets the sysop choose a chatmode
- in a workbench window.
-
-
- 46 PrintFileNoPause "path/file"
-
- Prints a file to the screen and the serial port.
-
-
- 47 ChangePhoneNumber
-
- Asks for an other (voice) telephone number.
- So a User can change his phone number.
-
-
- 48 ChangeDataNumber
-
- Asks for an other Data telephone number.
- So a User can change his data number.
-
-
- 49 ChangeFileMode
-
- Asks for file list mode (with or without screen clearing)
-
-
- 50 ChangeMsgsMode
-
- Asks for msg list mode (with or without screen clearing)
-
- 51 Continue "Do you really want to scan for waiting mail (Y/n) ? "
-
- Ask (confirm) the user if he really wants to do something.
- Works a bit like the password command, you put it before an other
- command, and if the users answers 'no' the executing of the command
- sequence is exited.
-
-
-
- 100 ChangeMessageArea "xxx"
-
- Change the current message area to number "xxx".
-
-
- 101 OtherMessageArea
-
- Asks for a message area number to change to.
-
-
- 103 WriteMessage
-
- Writes a message in the current message area.
-
-
-
- 105 ReadWaitingMail
-
- Shows all waiting mail to the user currently online.
-
-
- 106 CommentToSysop
-
- Writes a message to the sysop.
-
-
- 107 ListMsgAreas
-
- Shows a list with all message area available to the user online.
-
-
- 108 ReadGlobalNew
-
- Read all messages in all areas which haven't been read yet by
- the user online.
-
-
- 109 ReadMarkedMessages
-
- Read all messages marked by the user.
-
-
- 110 UnmarkMessages
-
- Forget all marked messages.
-
-
-
- Commands to scan and read messages.
-
- Scanning messages is browsing through the information
- in message headers.
-
-
- 111 ListMessageGroups
-
- Shows a list with all message section groups available.
- (like: ListMessageAreas)
-
- 112 OtherMessageGroup
-
- Asks for a message section group number to change to.
- (like: OtherMessageArea)
-
- 113 ChangeMessageGroup "n"
-
- Change the current message section group to number "n".
- (like: ChangeMessageArea)
-
-
- 114 ScanWaitingMail
-
- Makes a data file with waiting messages for new users.
- The actual reading of waiting messages is done with
- the ReadWaitingMail command which uses the data file.
- The data file is automaticaly updated when mail is
- imported by the mail processor.
-
-
-
- 130 ScanNew Scan new messages.
- 131 ScanForward Scan forward from a number.
- 132 ScanReverse Scan backward from a number.
-
- 133 ScanToUser Scan the 'To' fields from messages.
- 134 ScanFromUser Scan the 'From' fields from messages.
- 135 ScanToFromUser Scan the 'To' & 'From' fields from messages.
- 136 ScanSubject Scan the 'Subject' fields from messages.
- 137 ScanToFromSubject Scan the 'To' & 'From' & 'Subject' fields.
-
- 138 ScanToYou Scan for msgs addressed to the user online.
- 139 ScanFromYou Scan for msgs written by the user online.
- 140 ScanToOrFromYou Scan for msgs to or from the user online.
- 141 ScanReverseToYou Scan reverse to the user online.
- 142 ScanReverseFromYou Scan reverse from the user online.
- 143 ScanReverseToOrFromYou Scan reverse from or to the user online.
-
-
- 160 ReadNew Read new messages.
- 161 ReadForward Read forward from a number.
- 162 ReadReverse Read backward from a number.
-
- 163 ReadToUser Read the 'To' fields from messages.
- 164 ReadFromUser Read the 'From' fields from messages.
- 165 ReadToFromUser Read the 'To' & 'From' fields from messages.
- 166 ReadSubject Read the 'Subject' fields from messages.
- 167 ReadToFromSubject Read the 'To' & 'From' & 'Subject' fields.
-
- 168 ReadToYou Read msgs addressed to the user online.
- 169 ReadFromYou Read msgs written by the user online.
- 170 ReadToOrFromYou Read msgs to or from the user online.
- 171 ReadReverseToYou Read reverse to the user online.
- 172 ReadReverseFromYou Read reverse from the user online.
- 173 ReadReverseToOrFromYou Read reverse from or to the user online.
-
-
-
-
-
-
-
- 200 ChangeFileArea "xxx"
-
- Changes the current file area to number "xxx"
-
-
- 201 OtherFileArea
-
- Asks for a file area to change to.
-
-
- 202 AddFile
-
- Asks for a filename to add to the BBS, then checks all directories
- of the file areas to find the physical file and then asks a
- description and adds it to the file calalogue.
-
-
- 203 DeleteFile
-
- Asks for a filename and then removes it from the filecatalogue,
- the physical file will be moved to 'trion:killedfiles/' with the
- file comment set to the first 80 characters of the description
- of the file.
-
-
- 204 Upload
-
- System will receive files with the current selected file
- transfer protocol.
-
-
- 205 Download
-
- After this command all marked files will be send with the
- selected file transfer protocol.
-
-
- 206 EditFile
-
- This command will ask for a filename , from which the data
- fields can be changed.
-
-
- 207 SetScanDate
-
- Sets the date to start a new files scan.
-
-
- 208 ListMarkedFiles
-
- Shows a list of all the files marked bij the user online.
-
-
- 209 ListFileAreas
-
- Shows a list of all file areas available to the user online.
-
-
- 210 MarkFile
-
- Asks for the filename of a file to mark for download.
-
-
- 211 UnMarkFiles
-
- This command will clear all marked files.
-
-
- 212 MarkName "filename"
-
- This command will Mark the file "filename" for download, with this
- command you can mark a file (FI your allfiles) or even download it
- with a hotkey.
-
-
- 213 KillMarkedFile
-
- Asks for a number from the marked file list and than removes
- the entry from the marked file list.
-
-
- 214 UploadToArea "xxx"
-
- Just like the 'Upload' command, the difference is that in this case
- the BBS doesn't ask for an area to add the file to but uses area 'xxx'.
-
-
- 215 MakeFreeDownload
-
- Command to toggle a file to 'FreeDownload' or to clear the
- FreeDownload flag of this file, after this command the system
- will ask for a file name.
-
-
- 216 ListFileGroups
-
- Shows a list of all file section groups available.
- (like: ListFileAreas)
-
-
- 217 OtherFileGroup
-
- Asks for a file section group to change to.
- (like: OtherFileArea)
-
-
- 218 ChangeFileGroup "n"
-
- Changes the current file section group to number "n"
- (like: ChangeFileArea)
-
- 219 SetScanDays
-
- Like SetScanDate .. but asks for the number of days to scan
- back instead of a date.
-
-
-
- Commands to show file lists.
-
- (some explanation of the terms used)
-
- 'Chrono' means lists in Chronological order.
- 'Alpha' means lists in Alphabetical order.
- 'Find' means searching for files on wildcards.
- 'Global' means all areas, if it is not specified it means
- just the current file area.
- 'New' means added to the file catalogue after the last
- file scan.
- 'Unvalidated' means files wich are just uploaded and have not been
- validated by the sysop yet.
-
-
- Commands for the different methodes to 'list' or 'catalog' a file area.
-
- 220 CatalogChrono
- 221 CatalogAlpha
- 222 CatalogChronoReverse
- 223 CatalogAlphaReverse
- 224 CatalogChronoNew
- 225 CatalogChronoGlobalNew
- 226 CatalogChronoUnvalidated
- 227 CatalogChronoUnvalidatedGlobal
- 228 CatalogChronoGlobal
- 229 CatalogAlphaGlobal
- 230 CatalogFindFile
- 231 CatalogFindGlobal
- 232 CatalogAlphaNew
- 233 CatalogAlphaGlobalNew
-
-
- Commands for the different methodes to 'browse' a file area.
-
- 240 BrowseChrono
- 241 BrowseAlpha
- 242 BrowseChronoReverse
- 243 BrowseAlphaReverse
- 244 BrowseChronoNew
- 245 BrowseChronoGlobalNew
- 246 BrowseChronoUnvalidated
- 247 BrowseChronoUnvalidatedGlobal
- 248 BrowseChronoGlobal
- 249 BrowseAlphaGlobal
- 250 BrowseFindFile
- 251 BrowseFindGlobal
- 252 BrowseAlphaNew
- 253 BrowseAlphaGlobalNew
-
-
-
- (These are commands for testing)
-
-
- 254 LUMA
-
- Shows a list of active message areas of the user online.
-
-
- 255 LUFA
-
- Shows a list of active file areas of the user online.
-
-
-