User Tools

Site Tools


menu_commands

MENU COMMAND REFERENCE

Related Categories
Themes
Menus

Mystic BBS has a completely configurable and incredibly flexible menu system that allows for full control over the visual appearance and functionality of the BBS. Each menu consists of the basic settings, and a list of menu commands that define what options are available on each menu. These menu commands can then be assigned one or many “actions” to perform when the item is selected. Each action may also have parameters that can be or will be required to be specified in the “data” field.

This section contains a reference to all of the menu actions available in your Mystic BBS as well as any information needed that relates to those actions.

The syntax of each menu command is:

Data: available data switches / syntax

A description of the menu command and available data switches 

Note: Mystic has around 140 different menu commands, not all of them are documented here yet.


AUTO SIGNATURE

An Auto signature is an user created signature that can optionally be automatically appended to each message posted by the user. The following menu commands are available for manipulating the auto message:

AD - Delete Auto Signature

Data: None

Deletes the user's auto signature

AE - Edit Auto Signature

Data: None

Edits the user's auto auto signature

AT - Toggle Auto Signature

Data: /NOASK

Asks the user if the want to enable or disable the auto signature.  If
the /NOASK option is supplied on the optional data field, then Mystic
will toggle the setting without prompting with a Yes/No question.

AV - View Auto Signature

Data: None

View the user's auto signature

BBS LIST

Mystic can have any number of different BBS lists, identified by using a “List ID”. The List ID is simply the base filename used to store the BBS list database on disk, so it can be any valid filename but should never include any file extension, just a basic word of text. The following section contains BBS List menu commands:

BA - Add new entry to BBS list

Data: <LIST ID>

This option allows the user to add a new entry to a BBS list.  The BBS
list must be specified using the <LIST ID> in the optional data.
             

BL - List entries in a BBS list (detailed view)

Data: <LIST ID>;SEARCH

This option allows the user view the BBS list using the detailed list
mode.  This provides more information than the typical abbreviated list
The <LIST ID> must be specified in the optional data.  If ";SEARCH" is
appended onto the List ID, then Mystic will prompt and allow the user
to search for entries in the BBS list.

BS - List entries in a BBS list (abbreviated view)

Data: <LIST ID>;SEARCH

This option allows the user view the BBS list using the abbreviated view
mode.  This provides more information than the typical abbreviated list
The <LIST ID> must be specified in the optional data.  If ";SEARCH" is
appended onto the List ID, then Mystic will prompt and allow the user
to search for entries in the BBS list.

EXTERNAL DOORS

Mystic BBS supports DOOR.SYS, CHAIN.TXT, and DORINFO1.DEF DOS-based door formats, as well as Mystic's own native DOOR32.SYS format for modern BBS doors and games. These drop files are always created in the node's specific temporary directory. For example, if a door is executed on node 1, then the drop files will be created in the node's temporary directory “temp1” that is created off of the root Mystic BBS directory (ie c:\mystic\temp1\)

In the Linux and macOS versions, Mystic automatically redirects the standard input and output of external programs, allowing many programs that are not even designed for BBSes to be used. From a technical perspective it forks and executes your command line with /bin/sh then creates a watchdog on the child process so that it can help trap lost connections even for programs that cannot detect those types of things natively (like a BBS door would). It is important to understand that commands are not executed from bash when Mystic runs them, they are executing the system shell. In other words, if you want to test a command line you should test it accordingly outside of Mystic by executing: /bin/sh -c <Your command line here> to see if it works.

Each door action has a command line which will be executed by the operating system when the action is executed. There are a number of codes that Mystic will replace with specific values if they are found in the command line:

 %# = User's unique ID
 %A = User's real name (spaces are replaced by an underscore)
 %B = User's real name (with spaces)
 %C = The current user's codepage (CP437 or UTF8) (added 1.12 A39)
 %H = The current socket handle (added 1.12 A34)
 %N = The current node number (added 1.12 A34)
 %P = Node's temp directory where drop files are stored (w/ trailing slash)
 %R = User's handle (with spaces)
 %T = User's time left in minutes
 %U = User's handle (spaces are replaced with an underscore _)
 
 %0 = The current communication handle (socket handle)
 %1 = Depreciated. Always returns a "1" now
 %2 = Depreciated. Always returns "38400" now
 %3 = The current node number
 %4 = User's IP address
 %5 = User's hostname

All of the door menu commands have a helper function to allow switching directories without relying on scripting or operating system commands. If “CD<directory>” is used in the command line (without the quotes), Mystic will remove it and change to the directory specified between the <> characters prior to executing the command line.

Mystic tracks the number of doors opened by a user when using a DOOR menu command. Door command lines can have a /NOSTAT at the end of the command line in optional data to tell Mystic not to increment the users door count.

The following commands are available for executing external programs and doors:

DD - Execute External Program

Data: <command line to execute> /DOS
       
Creates the DORINFO1.DEF, CHAIN.TXT, and DOOR.SYS drop files in the node's
temporary directory.  In case sensitive file systems, these files are
created with full UPPERCASED letters.  If the /DOS option is appended on
to the end of the command line, Mystic will create the drop files in a
DOS text file format, even when used in operating systems like OS X and
Linux that used a different text file format.

D3 - Execute DOOR32 Door Program

Data: <command line to execute> /DOS

Creates the DOOR32.SYS drop file in the node's temporary directory.  This
file is always created in lower cased letters on all operating systems.
If the /DOS option is appended on to the end of the command line, Mystic
will create the drop files in a DOS text file format, even when used in
operating systems like OS X and Linux that used a different text file
format.

DX - Execute w/ DOSXTRN (Win32)

Data: <command line to execute>

Creates DORINFO1.DEF, CHAIN.TXT, and DOOR.SYS drop files in the node's
temporarily directory and then runs the command line with DOSXTRN DOS
FOSSIL redirection (as an alternative to NetFossil).  This function
only works for Windows 32-bit systems and requires dosxtrn.exe and
sbbsexec.dll to be placed into the root Mystic BBS directory.  This is
the recommended method to run DOS doors if you are using Windows 32-bit

FILE BASES

Mystic supports an unlimited number of file bases and file groups which can contain any number of files within them. Files can be listed using arrow and page keys to scroll through the list, and archives can be interactively browsed and searched in the same way (including archives within archives). Mystic fully supports long file names in both file directories and file names, and has extended support for things like ANSI within .DIZ files, and more.

This section contains menu actions that are relative to Mystic's file areas.

FA - Change File Base

Data: "+", "-", <Base ID>, /NOLIST, or None

This action will list the File Bases in the user's current File Group
and prompt the user to select a new File Base.  If /NOLIST is supplied in
data, then Mystic will prompt for the File Base and not automatically
list them first.  If the data is set to "+" then Mystic will move to the
next File Base that the user has access to.  If the data is set to "-"
then Mystic will move to the previous File Base.  Finally, the Base ID
can be supplied (as shown in the File Base Editor) to automatically change
the user into a specific File Base.

FD - Download Files

Data: None

This command will prompt the user to download file(s).  If the user
currently has files queued for download, Mystic will ask them first
if they would like to download the queued files.  If the user selects
no or does not have any files in the queue, Mystic will ask them for
a filename to download, and then search the File Bases to allow the
user to download the requested file.

FF - Download New/Master File List

Data: /NEW, /GLOBAL, None

This command will compile a list of files in the File Bases based on
the user's access levels.  If no option is supplied, Mystic will
generate a list of all files in the File Bases in the user's current
file group.  If /NEW is supplied, Mystic will generate a list of only
new files.  If /GLOBAL is supplied, Mystic will generate a list that
will include all File Bases within all File Groups instead of just the
current group.

FG - Change File Group

Data: "+", "-", <Group ID>, or None

This action will list the File Groups that the user has access to,
excluding any groups flagged as "hidden" and then prompt the user to
select a File Group.  If the data is set to "+" then Mystic will move to
the next File Group.  If the data is set to "-" then Mystic will move to
the previous File Group.  Finally, the Group ID can be supplied (as shown
in the File Group Editor) to automatically change the user into a specific
File Group.
      
When joining a file group, Mystic will display the "fgroup#" display file
from the theme's text directory if it exists, where # is the group's ID.

FI - File Base Index

Data: <template filename with no extension>, or None

The File Base Index system presents users with a list of all File Bases,
sorted by group, along with statistics of total and new files for each
base.  Users can scroll through and search through this list, and select
File Bases to list files in as well as "subscribe" and "unsubscribe" to
specific bases.
                       
The data field provides the template name which if left blank defaults to
"file_index" and points to the template file to load.  This field should
not include a file extension as .ini will be appended to it.
          
The template file contains all of the visual configurations for this
function as well as many other options that can completely customize the
experience.  For example, one could copy the default file_index.ini
template to file_change.ini, and then modify its visual and functional
settings so that it pops up a scroll box of File Bases for the user to
change their current File Base.
         
The same could be done to pop up a list of Files Bases that allows the
user to toggle which bases will be included in scans for new files.  To
use these alternative templates, simply execute FI with the data field of
"file_change" or whatever the custom template filename you've created is.

NOTE: Even if you do not use file groups for anything, there needs to be
at least one file group created for the Index Lister to function.

FL - List files in current File Base

Data: SEARCH, None

This command will list files in the user's currently selected File Base.
If the word SEARCH is in the data field, Mystic will prompt the user to
enter a file mask to search for files which match a certain file mask.

FN - Scan for, and list new files

Data: "A", "C", "G", None

This command will scan and list new files uploaded since the last time
the user scanned for new files.  If no data is provided, Mystic will
ask the user if they'd like to scan the current base or all bases in
the user's current File Group.  If data is A then Mystic will scan all
File Bases within all File Groups.  If data is G then Mystic will scan
all File Bases in the current group without prompting.  If data is C
then Mystic will only scan the user's current File Base.

FP - Set new file scan date

Data: None

This command will allow the user to set their new last file scan date
to a user inputted date.  After entering the date the user will be
asked if they would like to set the date for the current File Base or
all File Bases.  Finally, Mystic will reset the last new file scan
date for appropriate Bases.

FS - Search for files

Data: None

This command will allow the user to search for files by performing
a partial text match against the filename OR any text in the file
description.  Mystic will first present the "fsearch" display file
if it exists, then prompt the user for search criteria.  Next the
user will be asked if they would like to search the current Base,
all Bases in the group, or all Bases in all Groups.

FU - Upload a file

Data: /current

This command will allow the user to upload a file.  If the BBS is
configured to place uploads in a specific File Base, then the file
will be uploaded into that base.  Otherwise, it will be uploaded to
the user's currently selected File Base.
           
Mystic will first display the "upload" display file if it exists, and
next ask the user for the file transfer protocol unless the user has
selected a Default protocol in which case it will skip this step.
          
Finally, Mystic will prompt to press enter to begin the transfer.  If
the transfer protocol is anything that was created within the last 25
years or so, chances are Mystic will never even need to ask for
filenames.
          
In fact, a user can upload as many files as they want at one time without
ever entering any file names or information about the file!  Mystic
can detect all of the upload files, test them, import descriptions if
they exist, and optionally prompt the user for descriptions if it is
configured to do so (and there wasn't a .DIZ to import).
          
In the event a protocol is chosen from the stoneage, like Xmodem, then
Mystic will simply ask for the filename before beginning the transfer.
          
If the /current option is specified, Mystic will attempt to upload to 
the current file base even if a specific file base has been configured
for uploads

FV - View contents of a file

Data: None

This command allows the user to view the contents of a file in the File
Bases.  The user is prompted for a file name, and the filename is then
searched for throughout all Bases in the user's current file group.  If
a file is found, the contents will be listed and the user can navigate
through its contents, view and download files within the archive, as
well as view, search and download contents of archives contained with
that archive.         

FZ - Toggle File Bases for New Scan

Data: /ALLGROUP, None

This command allows users to select the bases that are included in their
scan for new files during a new file scan.  The bases listed are the
bases in their current group.  If the /ALLGROUP option is in the data
field then Mystic will present them all File Bases in all File Groups
as long as they meet access requirements.

GENERAL COMMANDS

G1 - Show BBS History

GA - View ANSI Gallery

Data: <path to files> [/TEMPLATE=mygallery] [/NOSAUCE]

Opens the ANSI gallery allowing the user to browse and view ANSI
files (including non-standard terminal size art, Amiga specific
variations with font switching, and more).  The path to files
should contain the root directory where users will start
browsing from.

The default template of "gallery" will be used
but this can be overridden using the /TEMPLATE option as shown

Depending on the disk and system speed, reading the contents of a
large directory and checking each file for SAUCE information can
take some time.  Adding /NOSAUCE on the optional data field will
disable sauce reading for the file listing.  SAUCE will always
still be used when viewing a file in the ANSI viewer.  This can
also be set in the gallery template but this will override that
setting.

GD - Show a display file

(For information on Random Display Files, see Display Files)

Data: ([FILE]) or (@[BAUD]@[TRUE/END/FALSE]@[FILE]) [/NEW] [/ABORT] [/MCI]
    
This command sends the contents of a display file to user.  There are a
vast number of optional data which can be supplied to change the way in
which the files are sent.
             
If the [FILE] parameter does not include a directory, then Mystic
will assume the file exists in the user's current Theme's TEXT directory
             
If the [FILE] parameter does does not include an file extension, Mystic
will display .ANS if it exists or .ASC if the ANSI version does not exist
In this mode, Mystic will also apply the Random Display File logic to the
base filename, selecting a random file if enabled.               
             
If [/NEW] is added to the end of the data command, Mystic will only
display the file if it is NEW.  This means if the date of the display
file is newer than the user's last call into the BBS.
             
If [/ABORT] is added to the end of the data command, Mystic will not allow
the user to abort displaying the file.  Aborting is allowed by default.
             
If [/MCI] is added to the end of the data command, Mystic will not process
MCI codes of any kind, including pipe colors, while display the file.
             
The (@[BAUD]@[TRUE/END/FALSE]@[FILE]) method allows the ability to
emulate a baud rate while displaying, as well as whether or not to pause
the screen during display (TRUE) or only at the end (END), or not at all
(FALSE).  The [FILE] parameter uses the same rules as discussed above.
             
Some examples of the DATA commands:
           
     Data: myfile
   Result: Mystic will display "myfile.ans" from the user Theme text
           directory or "myfile.asc" if the ANSI version does not exist
           or the user does not have ANSI.  If the .AN1 or .AS1
           extension exists, Mystic will apply its random display file
           logic to the file and select a file randomly.
                      
     Data: c:\mystic\textfiles\myfile.txt
   Result: Mystic displays the file if it exists.
              
     Data: c:\mystic\textfile\myfile
   Result: Mystic will display the ANSI version if it exists or the
           ASCII version if it does not. (.ans and .asc respectively)
                      
     Data: bbsnews /NEW
   Result: Mystic will display bbsnews from the user theme text
           directory but only if it has been edited since the user's
           last call
                      
     Data: @19200@FALSE@myfile
   Result: Mystic will display myfile from the user theme text directory
           applying the same extension rules.  It will emulator 19200
           baud rate which works on all terminals, and it will NOT pause
                       
     Data: @0@END@myfile
   Result: Mystic will display myfile from the user theme text directory
           applying the same extension rules.  It show the display file
           at full speed and only pause at the END of the display file.                
                     
     Data: @38400@FALSE@c:\mystic\textfiles\myfile.txt /NEW
   Result: Mystic will display myfile.txt from the specified directory
           while emulating 38400 baud rate and pausing on each page but
           only if it was updated since the user's last login.

GE - Edit User Settings

Data: <# of field to edit> <Field options>

This command can be used to allow users to edit information in their user
profile.  The data field must contain a number which defines which field
should be edited.

NOTE: The real name and alias fields (marked with * below) should NEVER be
made available for editing to the user, they are provided to optionally
allow the user to correct mistakes from NEWINFO.MNU only!

The following field numbers can be supplied in the data field:

  1 - Street Address           2 - City/State
  3 - Zip Code                 4 - Home Phone Number
  5 - Data Phone Number        6 - Birth date
  7 - Gender                   8 - Date Format
  9 - Terminal Emulation      10 - Screen Length
 11 - Password               *12 - Real Name
*13 - Alias                   14 - Theme Selection
 15 - Editor Type             16 - Toggle Invisibility
 17 - File List Type          18 - Toggle Availability
 19 - Toggle HotKeys          20 - Message Reader Type
 21 - Toggle LB Msg Idx       22 - Email Address
 23 - User Note               24 - Optional Field 1
 25 - Optional Field 2        26 - Optional Field 3
 27 - Toggle LB Quote         28 - Toggle LB Email Idx
 29 - Toggle Node Chat Type   30 - Toggle QWK FileList
 31 - Select Archive Type     32 - Default Transfer Protocol
 33 - Use QWKE Packets
 
 Some fields have additional options which can be presented after the field
 number on the data field:
 
 14 Theme Selection
 ------------------
 
       Syntax: [None] [/RELOAD] or [Theme Directory]
 Example Data: 14 mytheme
   
 When no extra data is provided, Mystic will prompt the user to select a
 theme.  If /RELOAD is provided, Mystic will reload the prompts of the
 current theme from the disk.  If a theme directory is provided (as listed
 in the theme editor), then Mystic will automatically switch to that theme
 without prompting the user.

GH - Hangup/Logoff Session

Data: None or /RECYCLE

GI - Hangup/Logoff Session Immediately

Data: None or /RECYCLE

GL - Show Last Callers

Data: None or <Callers>

This command shows the last callers who connected to the
BBS.  By default the last 10 callers are shown but the
optional data field can contain a number up to 99 that
will show anywhere from 1 to 99 "last callers".

GO - Goto Menu

GN - Show OneLiners

GP - Page Sysop For Chat

GR - Gosub Return Menu

Data: /CURSOR /SKIPEXEC

GS - Gosub Menu

GT - Display Text

GU - Show/Search User List

GV - View a display file in ANSI viewer

Data: <template>;<helpfile>;<speed>;<filename>[;END]
 
The ANSI viewer shows a file within the full screen, allowing the user to
scroll up and down through the file using their arrow keys, page up/down,
and home keys.  The viewer also has the ability to extract and display
SAUCE tags to get the artist and group information.  Pressing SPACE will
also display the file in a "traditional" BBS way, scrolling from start to
finish using the supplied emulated baud rate.  Several values are required
in the DATA field for this command, separated by a semi-colon:
             
<template> defines the template used for the viewer itself, found in the
current theme's display (text) directory.  For more information on
configuration of the template, see **TO BE COMPLETED** section.
             
<helpfile> defines the help file displayed when the user selects to show
help from within the viewer.  It should be in the text directory.
             
<speed> defines the baud rate to emulate when displaying the file if the
user selects <space> to display traditionally.  Use a baud rate of 0 for
a full speed display.
               
<filename> defines the name of the file to actually display to the user.
If no file extension is provided, ".ans" will be assumed.  If no path
is provided, Mystic will use the current theme's text directory.
               
Optional paramenters:
             
<END> if ";END" is added after the filename field, the viewer will start
viewing at the end of the file instead of the beginning.
               
Examples:
                 
   Command: GV
      Data: ansigalv;ansigalh;38400;myansifile
                     
   Command: GV
      Data: ansigalv;ansigal;0;myansifile;END
                     
The first example will execute the display file viewer using the
template "ansigalv" and the help file "ansigalh" with the baud rate
of 38400 if a user presses <space> to do a traditional view.  The
file "myansifile" is the display file, since it is missing a path
and a file extension, Mystic will use ".ans" and the current theme
text directory.
               
The second example is the same as the first, except it displays the
file at full speed instead of 38400 baud emulation, and also starts
showing the file at the end of the file, rather than the beginning.

GX - Execute Mystic Programming Language (MPL) Program

GY - Execute Mystic Python 2.x (MPY) Script

GZ - Execute Mystic Python 3.x (MPY) Script

G! - Execute Mystic Script (MS) Script

G? - Open Mystic Help System

—-

Mystic offers the ability to connect to another system through your own using any one of TELNET, RLOGIN, or SSH protocols. By default, Mystic will attempt to connect via IPV4 but if it cannot, it will next try to connect via IPV6 before ultimately failing.

Both RLOGIN and SSH protocols will require a user and password be supplied in the optional data. All outbound connection commands can include a /PROMPT in the optional data field which will hide display of the “connection” prompts.

IR - Outbound RLOGIN Connection

Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@ /term=?

This command creates a gated terminal session to another terminal server
using the RLOGIN protocol.  The /addr /user and /pass options must be
included.  If the /port option is not provided then the default port
of 513 will be used.

The terminal type will default to "ansi/57600" but the terminal type can
be overridden by using the /term=value option.
             
Mystic will replace @USER@ with the current user's name if it is supplied
in either or both of the /user or /pass options.
             
The user's password cannot be sent using an @code@ and must be manually
supplied due to the password encryption.  Mystic in the near future will
encrypt a users password, meaning at no time does it ever know or store
your actual password.  It cannot send it because it doesn't know it.

IS - Outbound SSH Connection

Data: /addr=<hostname> /port=1234 /user=@USER@ /pass=@USER@

This command creates a gated terminal session to another terminal server
using the SSH protocol.  The /addr /user and /pass options must be
included.  If the /port option is not provided then the default SSH port
of 22 will be used.
             
Mystic will replace @USER@ with the current user's name if it is supplied
in either or both of the /user or /pass options.
             
The user's password cannot be sent using an @code@ and must be manually
supplied due to the password encryption.  By default Mystic never stores
a users password, meaning at no time does it ever know your actual
password.  It cannot send a password because it doesn't know it.

IT - Outbound TELNET Connection

Data: /addr=<hostname> /port=1234

This command creates a gated terminal session to another terminal server
using the TELNET protocol.  The /addr option must be included.  If the
/port option is not provided then the default port of 23 will be used.

MESSAGE BASES

The following menu commands related to the Message Bases and reading/posting of messages.

MA - Change Message Area

Data: # + - NOLIST

This menu command allows the user to change to a new message area.  If
no optional data is present, then a list of message areas will be shown
to the user.

If the + sign is on the optional data field, Mystic will select the
next available message area that the user has access to.

If the - sign is on the optional data field, Mystic will select the
previous available message area that the user has access to.
             
If NOLIST is provided on the optional data field, Mystic will prompt the
user to select a message area but will not show the list of areas unless
the user asks to see it by entering ? to list.

If a message area Unique ID is presented on the option data field, Mystic
will change to the message area that is linked to the supplied unique ID.

MC - Check Private Local E-mail

Data: /NOLIST /UNREAD /SCAN

This menu command checks the user's private e-mail box for messages and
provides a list of all messages in the private mailbox followed by a
prompt asking the user if they would like to read the messages.

If the /NOLIST option is supplied on the optional data field, Mystic will
skip listing the messages and go directly to reading new e-mail messages.

If the /UNREAD option is supplied, Mystic will list only messages that are
flagged as "unread" in the list and prompt only if there are unread
messages.

If the /SCAN option is supplied, Mystic will silently calculate the values
of the waiting and unread mail values without any interaction with the user.
These value can then be displayed with the MW or MU MCI codes.

MD - Set Message Last Read By Date

Data: /ALL

This menu command allows the user to set their "last read" message in
each message base by inputting a date.  After a valid date is supplied
Mystic will ask the user if they would like to set this date for the
current base or all bases.  If the user selects all bases, then every
message base regardless of group will be updated.

If the /ALL optional data is provided, Mystic will skip the prompt and
update all message bases with the user supplied date.

MF - View/Scan Draft Messages

Data: /SCAN

When posting a message, users will have the option to save a message as
a draft and resume the message post at another time.

If a user loses their session for any reason such as a disconnection or
they run out of session time while posting a message, Mystic will also
automatically save a draft of their message post.

This option will present a list of available saved draft messages and
provide the user the ability to continue a post or remove the draft
message.

If the /SCAN option is provided on the optional data field, Mystic will
scan and if there are draft message saved, it will ask the user if they
would like to resume their draft messages.  If there are no draft
messages Mystic will do nothing.
  

MG - Change Message Group

Data: "+", "-", <Group ID>, or None

This action will list the Message Groups that the user has access to,
excluding any groups flagged as "hidden" and then prompt the user to
select a group.

If the data is set to "+" then Mystic will move to the next available
message group.

If the data is set to "-" then Mystic will move to the previous available
message group.

If the Group Unique ID is supplied, Mystic will automatically change the
user into the specific message group.
      
When joining a message group, Mystic will display the "group#" display file
from the theme's text directory if it exists, where # is the group's ID.

MI - Message Index Reader

Data: <template filename with no extension>, or None

The Message Base Index system presents users with a list of all message
bases along with statistics of total, new, personal messages for each
bases.  Users can scroll through and search through the list and select
bases to read, search, post, subscribe or unsubscribe from.
                       
The data field provides the template name which if left blank defaults to
"msg_index" and points to the template file to load.  This field should
not include a file extension as .ini will be appended to it.
        
The template file contains all of the visual configurations for this
function as well as many other options that can completely customize the
experience.  For example, one could copy the default msg_index.ini
template to msg_change.ini, and then modify its visual and functional
settings so that it pops up a scroll box of message bases for the user to
change their current message base.
       
The same could be done to pop up a list of message bases that allows the
user to toggle which bases will be included in scans for new messages.  To
use these alternative templates, simply execute MI with the data field of
"msg_change" or whatever the custom template filename you've created is.

NOTE: Even if you do not use groups for anything, there needs to be
at least one message group created for the Index Reader to function.

ML - Browser/Search Network Nodelists

Data: None

This command opens up a network node list browser which allows the user to
list FidoNet-style networks by Zone, Net, or search by Address or Text.

MM - Send Mass BBS E-mail

Data: None

This command allows the user to send bulk private BBS email to users using
either an access string, a list of user names, or all users on the BBS
system.  This function is typically only made available to System Operators

MN - Scan for New Messages

Data: /G /P /M /NOLR /NOFROM /NOREAD /YOU

This menu command scans for new messages. The optional data field allows
for modifiers to the default behavior.  By default if no optional data
is provided, Mystic will scan for all new messages in the user's current
message group.
             
If /P is provided in optional data, Mystic will only scan for personal
messages (messages From or To the user)
             
If /G is provided in optional data, Mystic will scan all message bases
in all groups. 
                           
If /M is provided in optional data, Mystic will forced the user to read
the new messages (mandatory read).
            
If /NOLR is provided, Mystic will not update the user's "last read"
message when performing the scan.
             
The following commands augment the behavior of the /P personal scan
option:
             
If /NOFROM is provided, Mystic will exclude any messages written
by (from) the current user.
             
If /NOREAD is provided, Mystic will not show messages that have been
flagged as "Read" by the user.

If /YOU is provided, Mystic will look ONLY at the To field to see if
the message is addressed to you.  By default Mystic personal scan will
look at both the From and To fields.

MP - Post New Message

Data: /TO: /SUBJ: /ADDR: /F

This menu command allows the user to post a message in the current
message bases.

If /TO:<text> is provided, the post can be automatically addressed to
the supplied username in <text>.  Note that spaces should be replaced
by underscores (_) when supplying this.

If /SUBJ: is provided, the post will have its subject automatically
set.  Spaces should be replaced with underscores.

If /ADDR: is provided, the post will have its FTN Network address
automatically set.

If /F is provided, the post will be forced meaning the user will not
be able to abort posting the message when they are in the message
editor.

MQ - Message Quick Scan

Data: None /CURRENT /GROUP /LIST /NEW /YOU /NOFOOT /NOSCAN /NOFROM /NOREAD

Performs a scan of all message bases, listing message statistics similar to those
found in the index reader.  By default scanning will be done to all bases in all
groups.

If /CURRENT is supplied, scanning will be done only to the current message base

If /GROUP is supplied, scanning will be done only to bases in the current group

If /LIST is supplied, the scan will also list messages found which can be combined
with other options to limit what is listed.

If /NEW is supplied only bases with new messages will be shown.

If /YOU is supplied only bases with message to/from you will be shown.

If /NOFROM is supplied Mystic will exclude messages posted by you.

If /NOREAD is supplied Mystic will exlucde messages to the user that have already
been read.

If /NOSCAN is supplied, Mystic will not show the "scanning" prompt when calculating

If /NOFOOT is supplied, Mystic will not show the "footer" prompt

MR - Read Messages

Data: <None> "B" "F" "N" "Y" "S"

Reads messages in the currently selected message base.  The data field
specifies the read mode, which can be any one of the following:

  <BLANK> Prompts user to select read mode.
  "B"     Reads messages posted by the user.
  "F"     Reads messages forward.
  "N"     Reads new messages.
  "S"     Text search for messages
  "Y"     Reads messages sent TO the user.

MS - Message Search

Data: None "A" "G" "C"

Allows the user to search for messages using Mystic's boolean search engine.
If no data field is supplied Mystic will default to searching for messages in
the current group.

If "C" is supplied, Mystic will search only in the current message base.
If "A" is supplied, Mystic will search all bases in all groups.
If "G" is supplied, Mystic will search bases in the current group
                  

MV - View Sent Local E-mail

MW - Send Private Local E-mail

Data: /TO: /SUBJ: /F

Each user has a personal e-mail box that exists only on the BBS and
this command is used to send a message to a user's personal mailbox.
Messages posted here are shown to the user when the MC menu command
is executed to check their local mailbox.

If /TO:<text> is provided, the post can be automatically addressed to
the supplied username in <text>.  Note that spaces should be replaced
by underscores (_) when supplying this.  If this is not supplied then
Mystic will ask the user to who to send the message to.

If /SUBJ: is provided, the post will have its subject automatically
set.  Spaces should be replaced with underscores.  If this is not
supplied then Mystic will ask the user for the message subject. 

If /F is provided, the post will be forced meaning the user will not
be able to abort posting the message when they are in the message
editor.

MX - Post text file to message base

Data: <File>;<Base ID>;<From>;<To>;<Subject>;[Network To Address]

This menu command posts a text file to a message base.  It will allow
a file up to 10,000 lines to be posted and will automatically split
them into multiple posts of 1000 lines each if the post is more than
1000 lines (including automatically appending a message count to the
end of the subject ie: (1 of 3)"
             
If you want to post an ANSI file, it should be saved with a 79 column
width using a capable ANSI editor.  Mystic's own built in ANSI editor
can save an ANSI file properly formatted for message posting by
specifying a column length of 79 in the Save dialog. 
             
The optional data field is required for this to work, except for the
Network Address field which is only required if you are posting to a
NetMail base.  Each value should be separated by a semi-colon (;).
            
The <File> field contains the filename to post to the base.  This file
should be a text file with up to 79 columns per line and up to 10,000
lines.
             
The <Base ID> is the Message Base ID as found in the Message Base Editor
             
<From>  The From field of the message
          
<To> The To field of the message
             
<Subject> The Subject of the message
             
[Network Address] is the To network address used when posting to a
NetMail base.  This field can be excluded when not posting Netmail.
             
Examples:
             
  c:\mystic\temp1\msgtext.txt;1;g00r00;All;Statistics for January
  c:\mystic\temp1\msgtext.txt;3;g00r00;Avon;Automated post;21:1/101

MZ - Set Message New Scan Settings

Data: None

Allows the user to select which message bases will be scanned in their new
message scan.  Bases scanned can also be set using the index reader (MI)
menu command.

OFFLINE MAIL

OD - Download QWK/QWKE Packet

OS - Set QWK Scanned Bases

OU - Uploads QWK/QWKE Packet


MULTI-NODE

NA - Set Note Action

Data: Action text

This command will set the node action which appears when a Who's Online
list is done.  The optional data field is required for this command and
specifies the text that will appear in the "Action" field for the
current user.

NC - Multi-node Teleconference/Chat

NP - Page Online User For Chat

NS - Send Node Message

 Data: None or <Node;Message>
 
 Send message to a node.  When the optional data field is
 blank, Mystic will prompt the user to select a node and
 input a message.
 
 The optional data field can also be used to send a message
 to another node, or broadcast a system-wide message to all
 available users by using the "node;message" format.  The
 node number must be supplied first followed by a semi-colon
 and then the message text.  For example, 2;Hello would send
 a message to node 2 saying Hello.  If a zero is used as the
 node number, the message text will be sent to all users
 currently logged in using the System Message format.
 
 Two MCI codes can be used to send the user name and node
 number of where the message originated from:
   
 &1 = Name of user where message was sent from
 &2 = Node number message was sent from

NW - Show Who's Online

If the /SCAN optional data is supplied, Mystic will not display the who's
online list but instead force recalculation of active users (returned by
the NA MCI code).

MISCELLANEOUS

-B - Break Command Execution

This command is an advanced menu command that can be used to break the
current menu execution chain.  For example, if you have 4 menu commands
that all have the same hotkey and call -B on the second one, only the
first two commands will be run.  The 3rd and 4th menu command will be
skipped because the -B menu command breaks the chain of commands.

-D - Toggle Access Flags (Set 2)

Data: <Command/Flag Set>

Set user flags.  This will allow user flags to be set for each user's
SECOND set of flags using the following format in the Data field:

<Command><Flag>

<Command> This is the action of the flag.  It can be any one of
the following:

   + = Set <FLAG> to ON.
   - = Set <FLAG> to OFF.
   ! = Toggle <FLAG>.

<FLAG> is the flag to toggle.  Valid flags are letters A through Z
and should be represented as all capital letters.

Example data fields:

   !A (toggles flag A)
   -B (toggles flag B OFF)
   +A (toggles flag A ON
   !A-E+Y (toggles A, turns E OFF, turns Y ON)

-F - Toggle Access Flags (Set 1)

Data: <Command/Flag Set>

Set user flags.  This will allow user flags to be set for each user's
SECOND set of flags using the following format in the Data field:

<Command><Flag>

<Command> This is the action of the flag.  It can be any one of
the following:

   + = Set <FLAG> to ON.
   - = Set <FLAG> to OFF.
   ! = Toggle <FLAG>.

<FLAG> is the flag to toggle.  Valid flags are letters A through Z
and should be represented as all capital letters.

Example data fields:

   !A (toggles flag A)
   -B (toggles flag B OFF)
   +A (toggles flag A ON
   !A-E+Y (toggles A, turns E OFF, turns Y ON)

-G - Display Generated Menu

-I - Set TIMER Counter

Data: <Seconds>

Set the counter of the TIMER menu commands.  For example if you have a
TIMER menu command set to execute every 30 seconds and you set the
counter to 29, it will execute 1 second later.

-M - Set menu Marquee text

Data: /ADD <text>, <text>, or /RESET

This command sets the current menu''s Marquee text with the text contained
in the data field.  If the first 5 characters are "/ADD " in the data field
then the text will be appended onto the existing scrolling Marquee.  If the
data field is /RESET it will reset the Marquee to the configured Marquee
text value.  Otherwise it will replace the Marquee with the text in the data
field.

-N - Ask Yes/No Question (Default to No)

Data: <Text>

This command will display the text in the data field to the user and then
prompt with a Yes/No question, defaulting to an answer of "No".  The result
of the user's selection will be stored in the "OK" ACS command, so that if
the user answers Yes, then the OK ACS will evaluate to TRUE.  If the user
answers No, the OK ACS will evaluate to FALSE.

-P - Ask Password

Data: <Text;Password>

This command will display the Text portion of the data field, and then prompt
for a password which is defined also in the data field as the second parameter,
separated by a semi-color from the text.

If the user successfully enters the password, the OK ACS function will evaluate
to TRUE.  If the user does not enter the password, the OK ACS function will
evaluate to FALSE.

For example:

  Data: |CR|09Enter password: |11;PASSWORD

-R - Set Value of OK ACS flag

Data: <0 or 1>

This command will set the value of the OK ACS command.  If the data
field is set to 1, then the OK ACS will evaluate TRUE and if set to
0 it will evaluate to FALSE.

-S - Add Line Into Node Log

Data: <Text>

This command adds the <Text> supplied in the data field to the node
log file.  The text will automatically be formatted with the time
stamp and spacing to match other log entries in the log file.

-V - Validate User E-mail

Data: <None> or <Security Level>

This command sends an e-mail to the user's e-mail address containing
a code that the user must enter into the BBS after the e-mail is sent.

Once the user has successfully entered the code, their e-mail address
will be considered validated.  The OV ACS function can be used in ACS
strings to determine if the user has validated their e-mail address.

If the optional data field contains a security level, then Mystic will
automatically upgrade the user's security profile to the security level
provided after successful validation.

-Y - Ask Yes/No Question (Default to Yes)

Data: <Text>

This command will display the text in the data field to the user and then
prompt with a Yes/No question, defaulting to an answer of "Yes".  The result
of the user's selection will be stored in the "OK" ACS command, so that if
the user answers Yes, then the OK ACS will evaluate to TRUE.  If the user
answers No, the OK ACS will evaluate to FALSE.

FILE QUEUE

QA - Add File To Batch Queue

QC - Clear Batch Queue

QD - Delete File From Batch Queue

QL - List Files In Batch Queue


TIME BANK

TD - Add Time To Time Bank

TW - Withdraw Time From Time Bank


VOTING BOOTH

VA - Add New Question To Voting Booth

VD - Delete Question From Voting Booth

VN - Scan for New Questions

Data: /F

Scans for new voting booth questions that the user
has not voted on and presents each question to the
user for voting.

If the /F option is supplied the user will be forced
to vote on all new questions.

VR - View Results

VV - View/Vote On Voting Booth Questions

Data: <Question #> /F or None

This option allows the user to vote on questions in the voting
booth.  If the optional data is blank then the user will be
presented a list of all voting questions.

If the Question number is supplied the user will be taken
directly to the question # supplied in the optional data field.

If /F is supplied along with a question number then the user will
be forced to vote on the question.

MATRIX LOGIN

XA - Matrix: Apply for Account

Data: None

Apply for an account.  This menu command allows the user to create a
new user account, but then is taken back to the Matrix menu where they
will not be able to enter the BBS without the Matrix password (when
enabled) or meeting the Matrix ACS access string.

If "Login after Apply" is set to Yes in the Login settings, then the
user will automatically be logged into the BBS instead of returning
to the Matrix menu.

XC - Matrix: Check for password

Data: None

This command is intended to be used when the Matrix password is enabled.

The user will be asked to enter their username and password and if
successful, they will be shown the Matrix password if a password has
been set.

For setups that are not using a Matrix password system, then this command
is not needed.

XL - Matrix: Login

Data: <Blank> or /FULL

Login to the BBS system.  This command allows the user to log into the BBS
system.  If a Matrix password is enabled, then the user will be required to
enter the Matrix password.  If the Matrix password is not enabled then the
user will be required to meet the "Matrix ACS" access string requirements
in order to be logged into the BBS.  Users who do not meet the Matrix ACS
will be refused with a message stating they do not have access.

If the /FULL optional data is supplied, then Mystic will bypass the Matrix
password or Matrix ACS checking and immediately jump to the full user login
experience that is given when the Matrix login is completely disabled.

XP - Matrix: Page Sysop

Data: <None> or /F

Page SysOp for chat from Matrix.  This command works just like the other
Page SysOp command, but it requires the user to authenticate first.  If /F
is supplied, the user will be forced to page the SysOp even if they do not
enter a chat reason.

XV - Matrix: Validate E-mail address

Data: <None> or <Security Level>

Validate e-mail address.  This command requires the user to authenticate
and then will allow them to perform an e-mail address validation process
just the same as the -V menu command.  The user will be sent an e-mail with
a code to their e-mail address and be required to enter the code.

If the code is entered correctly, their access can optionally be automatically
upgraded by supplying the upgraded user security level in the optional data
field.

USER FUNCTIONS

UF - Edit User's Twit Filter List


SEMAPHORE COMMANDS

!C - Create Semaphore File

This command adds three lines of text to the semaphore file:

  • Line 1: User ID
  • Line 2: User Handle
  • Line 3: Node number

If no user was logged in when this was created the ID will be -1 and the handle blank.

!D - Delete Semaphore File

!E - Check If Semaphore Exists


SYSOP COMMANDS

*# - Menu Editor

Data: <none> or /THEME

Opens the menu editor.  By default Mystic will ask to select
the theme to edit.  If /THEME is in the data field it will
skip this and open the menu editor with the current theme
already selected.

*A - Archive Editor

*D - Mystic DOS

*E - Event Editor

*F - File Base Editor

*G - Message Group Editor

*L - Security Level Editor

*M - Message Base Editor

*P - Protocol Editor

*R - File Group Editor

*S - System Configuration (All Editors)

*T - Theme Editor

*U - User Editor

*Y - Recycle/Reset User Session

*1 - Edit Text File

*2 - Edit ANSI File

*3 - Snoop User On Node

*4 - View Log Files

F1 - Mass upload files

Data: None

Search all file base directories for new files that have not been
added to the file listings and import them into the file listings

F2 - File List Editor

Data: None

Edit the file directory listing of the current file base.  This
is the same as using the Edit command from the listing, where
you can perform various editing and maintenance functions or
hatch a file from the file listing.

F3 - Download File (Send to User)

Data: <Full Path and Filename> [/PROT=X] [/NOPROMPT]

Send the file supplied in the data field to the user.  The user's
file statistics will not be updated.

If the optional PROT command is used then the Mystic will select
the protocol automatically that is associated to the hotkey in
the Protocol configuration.  For example: /PROT=Z would auto
select Zmodem by default.

If the optional /NOPROMPT command is supplied then Mystic will skip
the "Press a key to start transfer or Q to Quit" prompt
menu_commands.txt · Last modified: 2023/01/20 02:39 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki