====== String Commands ======
This JavaScript module ''str_cmds.js'' in the [[dir:exec|exec directory]] contains all the string commands called from various menus.

The file is loaded from the command shell and contains mostly [[access:sysop|sysop]] commands, though some commands are for standard users.

Inline help can be viewed from the [[server:terminal|terminal]] with the '';HELP'' command.

==== Usage ====
  * All commands are preceded by a '';''
  * ''<>'' required parameter
  * ''[]'' optional parameter
  * ''()'' required exemption


==== Commands for All Users ====
All user string commands in the Synchronet Classic command shell begin with a semicolon (';') character, end with CR (ENTER), and some have optional parameters (shown in square brackets).

^ Command     ^ Name                              ^ Description ^
| HELP        | Display available string commands | List the string commands available to the user along with short descriptions. |
| FIND [word] | Find a message area or file area  | Returns a list of message areas or file areas matching the search term. Search [word] can be part of a word, a full word, or a phrase. The command will search message areas if run from the main menu, or will search file areas if run from the file menu. |
| MSGS        | Redisplay messages                | Redisplay instant messages (notifications and telegrams) that the user previously received. |
| PLAN        | Edit .plan file                   | Edits or deletes your ''.plan'' file (displayed when somebody [[service:finger|Fingers]] you). |
| POFF        | Pager off                         | Toggles if other users can page you during this session for a multinode chat. |


==== Sysop Commands ====
A menu of the available sysop commands can be viewed with the '!' command from the main or transfer sections with the Synchronet Classic command shell. Additional sysop commands are available in many other sections of the BBS and are displayed after the normal menu with the '?' command.

All sysop commands from the main or transfer sections of the Synchronet Classic command shell begin with a semicolon (';') character, end with CR (ENTER), and some have optional parameters (shown in square brackets). Users with certain exemptions can use some of these commands and have access to the menus via the '!' command using the Synchronet Classic command shell. 

=== User & Mail Management ===
^ Command                     ^ Name                   ^ Description ^
| UEDIT [user number or name] | User editor            | Starts the [[access:user_editor|in-BBS User Editor]], allowing the sysop to edit or delete/restore users. If a [user] is specified it will be the current user when User Edit starts. |
| BULKMAIL                    | Send mass mail         | Sends an email to all users that match a specified [[access:requirements|Access Requirements String]] ("ARS"). |
| CHUSER                      | Change to another user | Allows the sysop to temporarily change to another user account. If changing to an account with a higher level, the password of that user must be given. Changing to a user of non-sysop status automatically enables //Temp Sysop// mode so that the sysop can change back to their own account before logging off (a suggested action). |
| MAIL                        | Read all mail          | Read all the email in the mail base, regardless of recipient. |


=== Node Control ===
^ Command              ^ Name           ^ Description ^
| NODE [parameters] | Node utility   | Executes [[util:node|node utility]] with the passed parameters. |
| DOWN [#]          | Down node      | Toggles the down status of a node. When a node has a down status (noted by the [D] flag on the node status line) it will be shut down after the user logs off, or immediately if a user is not online. If a node [#] is not specified, the current node will be shut down. \\ \\ To put an "Offline" node back to a "Waiting for Connection" status, use '';NODE STATUS=0 [node #]''. |
| INTR [#]          | Interrupt node | Disconnect a user as soon as it is safe to do so, displaying a "closed for maintenance" message. The current interrupt status of a node is reflected by an [I] in the node listings. If a node [#] is not specified, the current node will be interrupted. \\ \\ If the user is currently executing an [[howto:door:index|external program]] (including [[howto:editor:index|editors]] and transfer protocols), they will be disconnected as soon as control returns to Synchronet. |
| LOCK [#]          | Lock node      | Prevent users from logging into a node, giving a "down for maintenance" message. A locked node will have an (L) in the node listings. If a node [#] is not specified, the current node will be locked. \\ \\ Sysops and users with the ''L'' [[access:exemptions|exemption]] can still log in. |
| RERUN [#]         | Rerun node     | Toggles the rerun status of a node (noted by an [R] in the node listing), reloading the configuration before the next login. If individual nodes have a rerun status, that node's configuration will be reloaded just before the next user logs in. \\ \\ Note: Saving a configuration change in [[util:scfg|SCFG]] will set a rerun status on all nodes. |
| SPY [#]           | Spy on a node  | Allows the sysop to remotely monitor or control another node. |


=== Logging & Stats ===
^ Command     ^ Name                  ^ Description ^
| ERR      | Critical error log    | View the error log and optionally delete it, as well as optionally clearing all nodes' error counters. |
| LOG      | Today's log           | View today's detailed node log file. |
| YLOG     | Yesterday's log       | View yesterday's detailed node log file. |
| NLOG [#] | Node statistics log   | View the historical, daily statistics for a single node. Statistics for the current node will be shown unless a node [#] is specified. |
| NS [#]   | Node statistics       | Today's statistics for single node. The node [#] will be prompted for if it is not provided. |
| SLOG     | System statistics log | View the historical, daily statistics for the system (sum of all nodes). |
| SS       | System statistics     | Today's combined statistics for all nodes. |


=== Node & Sysop Display ===
^ Command  ^ Name                           ^ Description ^
| ANON  | Toggle anonymous mode          | Makes the current node anonymous, where the node is listed normally but the user is displayed as "Unknown User." To a sysop, an anonymous node appears normally with the addition of an [A] in the node information line. \\ \\ Sysops and users with the ''Q'' exemption have access to this command. |
| AVAIL | Toggle sysop chat availability | Changes the ability for users to page the sysop for a private chat, visible to them in the [[module:chat_sec|chat module]]. \\ \\ This setting can be overridden by users with a ''C'' exemption or by the [[config:system|SCFG System Config]] "Sysop Chat Override" Advanced Option. |
| QUIET | Quiet mode                     | Make the current node appear to be "Waiting for call" to other users. To a sysop, a quiet node appears normally with the addition of a [Q] in the node information line. \\ \\ Sysops and users with the ''Q'' exemption have access to this command. |


=== OS & Files ===
:!: For any commands where a path is requested, the current working directory is ''ctrl/''

^ Command             ^ Name                                        ^ Description ^
| EXEC [command]   | Execute a command with I/O redirected | Executes command (or prompts for it) with I/O redirected. Execute Baja modules by prepending "*" or JavaScript by prepending "?" to the command line. [[config:cmdline|Command line specifiers]] may be used. If the BBS has the ''BBS_OPT_NO_DOS'' startup option set, native execution is forced. |
| FOSSIL [command] | Execute command via FOSSIL driver | Executes command (or prompts for it) with I/O redirected, using the internal FOSSIL driver. |
| NEXEC [command]  | Execute native binary with I/O redirected | Executes command (or prompts for it) with I/O redirected, treating it as a native binary (equivalent to ''EXEC'' with the ''EX_NATIVE'' flag forced on). |
| DIR [path]          | List files                                  | Displays a directory listing of the specified path. |
| GET [path/file]     | Download file                               | Download a file from any directory on the BBS host system. The file does not have to be in the file database. |
| PUT [path/file]     | Upload file                                 | Upload a file to any directory on the BBS host system without having to add it to the file database. |
| OLD                 | Remove/Edit/Move un-downloaded files        | Remove, edit, or move files that have not been downloaded since the new-scan date.\\ \\ Can be followed by ''LIB'' or ''ALL'' to affect files in all directories of the current library, or all directories in all libraries. |
| OLDUL               | Remove/Edit/Move old uploaded               | Remove, edit, or move files that were uploaded before the new-scan date.\\ \\ Can be followed by ''LIB'' or ''ALL'' to affect files in all directories of the current library, or all directories in all libraries. |
| UPLOAD              | Bulk local upload                           | Bulk add files to the database that are already on the BBS host's local disk.\\ \\ Can be followed by ''LIB'' or ''ALL'' to affect files in all directories of the current library, or all directories in all libraries. |
| OFFLINE             | Remove/Edit/Move missing files              | Remove, edit, or move files that are in the database but are no longer on the BBS host's local disk.\\ \\ Can be followed by ''LIB'' or ''ALL'' to affect files in all directories of the current library, or all directories in all libraries. |
| TYPE [path/file]    | View text/msg file                          | View any ASCII text or MSG format file on the system. \\ \\ Aliases CAT or LIST also invoke this command. |
| EDIT [path/file]    | File editor                                 | Edit any ASCII text or MSG format file on the system using your message editor. If the specified filename does not already exist it will be created. |
| DOS              | DOS command shell                              | Go to the Windows/DOS command line (command.com) with I/O redirected. |
| SHELL            | Unix command shell                             | Starts a native Unix shell (COMSPEC or SHELL env variable). |


=== Miscellaneous ===
^ Command           ^ Name                    ^ Description ^
| CALL <Hub-ID>     | Force QWKnet callout    | Forces a QWKnet callout to the specified <Hub-ID> outside of the normal timed events [[howto:dove-net|configured]] in SCFG. Example: ''CALL VERT'' |
| CHAT              | Page sysop              | Users with the ''C'' [[access:exemptions|exemption]] can use this command to page the sysop for chat. |
| ECHO [string]     | Print a text message    | Prints a string, including [[custom:atcodes|Message Variables (@-codes)]]. |
| EVAL [parameters] | Evaluate JavaScript     | Evaluate a JavaScript expression and display the result. |
| EVENT [EventID]   | Execute event           | Forces a [[util:scfg:external_programs|timed event]] to execute with a [[config:semfiles|semaphore file]]. If the [EventID] is not specified, a menu of timed events will be shown. |
| GURU              | Guru log                | Display and optionally clear the GURU.LOG file that contains user discussions with the [[https://www.synchro.net/docs/chat_section.html#ArtificialChatGurus|system guru]] (GURU.DAT). |
| LOAD [file]       | Load alternate text.dat | Loads a custom [[custom:text.dat|text.dat]] from the specified filename. |


===== See Also =====
  * [[:module:|Modules]]

{{tag>module javascript menu sysop}}