Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
custom:atcodes [2019/07/10 14:43] – [Terminal Information / Control] Added CHARSET digital mancustom:atcodes [2019/09/20 01:47] – Added FILESIZE, FILEBYTES, FILEKB, FILEMB, and FILEGB digital man
Line 23: Line 23:
  
 ^ Modifier ^ Purpose ^ ^ Modifier ^ Purpose ^
-| -L       | Pad and left-justify an expanded @-code | +''-L''   | Pad and left-justify an expanded @-code | 
-| -R       | Pad and right-justify an expanded @-code | +''-R''   | Pad and right-justify an expanded @-code | 
-| -C       | Pad and center an expanded @-code (added in v3.17b) | +''-C''   | Pad and center an expanded @-code (added in v3.17b) | 
-| -D       | Displays double-wide using "fullwidth" Unicode code points if possible, spaces between the characters otherwise | +''-W''   | Displays double-wide using "fullwidth" Unicode code points if possible, spaces between the characters otherwise | 
-| -Z       | Zero-pad and right-justify an expanded @-code (added in v3.17b) | +''-Z''   | Zero-pad and right-justify an expanded @-code (added in v3.17b) | 
-| -W       | Allow the terminal to wrap (don't truncate) overly-long expanded @-codes (added in v3.17c) |+''->''   | Allow the terminal to wrap (don't truncate) overly-long expanded @-codes (added in v3.17c) |
  
 === Width Specificity === === Width Specificity ===
Line 43: Line 43:
  
 When a //width// is specified, expanded @-code strings which are **longer** than the specified width will be truncated (shortened) to adhere to the requested width. The left-most characters are preserved/displayed while the right-most characters are truncated (lost). When a //width// is specified, expanded @-code strings which are **longer** than the specified width will be truncated (shortened) to adhere to the requested width. The left-most characters are preserved/displayed while the right-most characters are truncated (lost).
 +
 +By default, //most// expanded @-codes that would reach the last column of the terminal screen are truncated (shortened) so as to not cause an automatic line-wrap of the user's terminal. If you wish for an expanded @-code to be displayed in the last terminal column, or beyond ( possibly causing an automatic line-wrap of the terminal) use the ''->'' format modifier.
  
 === Exceptions === === Exceptions ===
Line 51: Line 53:
  
 ^Code           ^Aliases         ^Description ^ ^Code           ^Aliases         ^Description ^
 +|ANODES         |AN, ANODE       |Number of active nodes (including current node) |
 +|AUTODEL        |                |Maximum days of user inactivity before auto-deletion or "unlimited" |
 |BBS            |BOARDNAME       |Name of BBS |  |BBS            |BOARDNAME       |Name of BBS |
 |COMPILER                      |Compiler used to build Synchronet| |COMPILER                      |Compiler used to build Synchronet|
Line 68: Line 72:
 |EVENT          |                |Date and time of next scheduled timed event | |EVENT          |                |Date and time of next scheduled timed event |
 |FIDOADDR                      |System's primary FidoNet address               | |FIDOADDR                      |System's primary FidoNet address               |
 +|FILES          |                |Number of files in the user's currently selected file transfer directory |
 +|FILES://<code>// |              |Number of files in the file transfer directory specified by internal-//code// |
 +|FILES://<path>// |              |Number of files in the directory specified by //path// |
 +|FILESIZE                      |Total size of all files in the user's currently selected file transfer directory |
 +|FILESIZE://<code>//           |Total size of all files in the file transfer directory specified by internal-//code//|
 +|FILESIZE://<path>//           |Total size of all files matching the path/filespec specified in //path//|
 +|FILEKB                        |Total size (in kibibytes) of all files in the user's currently selected file transfer directory |
 +|FILEKB://<code>//  |            |Total size (in kibibytes) of all files in the file transfer directory specified by internal-//code//|
 +|FILEKB://<path>//  |            |Total size (in kibibytes) of all files matching the path/filespec specified in //path//|
 +|FILEMB                        |Total size (in mebibytes) of all files in the user's currently selected file transfer directory |
 +|FILEMB://<code>//  |            |Total size (in mebibytes) of all files in the file transfer directory specified by internal-//code//|
 +|FILEMB://<path>//  |            |Total size (in mebibytes) of all files matching the path/filespec specified in //path//|
 +|FILEGB                        |Total size (in gibibytes) of all files in the user's currently selected file transfer directory |
 +|FILEGB://<code>//  |            |Total size (in gibibytes) of all files in the file transfer directory specified by internal-//code//|
 +|FILEGB://<path>//  |            |Total size (in gibibytes) of all files matching the path/filespec specified in //path//|
 |FREESPACE      |                |Free disk space available for uploads (in bytes) | |FREESPACE      |                |Free disk space available for uploads (in bytes) |
-|FREESPACEK                    |Free disk space available for uploads (in kilobytes) |+|FREESPACEK                    |Free disk space available for uploads (in kibibytes) |
 |FULL_VER                      |Synchronet full version number (e.g. "3.15a")| |FULL_VER                      |Synchronet full version number (e.g. "3.15a")|
 |GRP            |                |Current message group short description | |GRP            |                |Current message group short description |
Line 91: Line 110:
 |MSG_LIB        |                |Synchronet Message Base Library version information | |MSG_LIB        |                |Synchronet Message Base Library version information |
 |NOACCESS                      |Why user was denied access (last failed ARS check) | |NOACCESS                      |Why user was denied access (last failed ARS check) |
-|NODE                          |Number of current node | +|NODE           |NN              |Number of current node | 
-|NODE###        |                |Status of node number ### |+|NODE//n//      |                |Status of node number //n// |
 |NUMDIR                        |Number of current library and directory | |NUMDIR                        |Number of current library and directory |
 +|ONODES         |ONODE, ON       |Number of other active nodes (not counting current node) |
 |OS_VER                        |Operating system type and version information| |OS_VER                        |Operating system type and version information|
 |PLATFORM                      |Platform or operating system name (e.g. "win32", "linux")| |PLATFORM                      |Platform or operating system name (e.g. "win32", "linux")|
 +|PWDAYS                        |Maximum age (in days) of user's password before forced-change or "unlimited" |
 |QUESTION                      |Current Yes/No question being asked of the user | |QUESTION                      |Current Yes/No question being asked of the user |
 |QWKID          |                |System's QWK BBS-ID | |QWKID          |                |System's QWK BBS-ID |
Line 135: Line 156:
 |MSG_TAGS                      |Current message tags (space-separated, optional)| |MSG_TAGS                      |Current message tags (space-separated, optional)|
 |MSG_DATE                      |Current message date/time written | |MSG_DATE                      |Current message date/time written |
 +|MSG_IMP_DATE                  |Current message date/time imported |
 |MSG_AGE        |                |Current message age (e.g. in seconds, minutes, hours, etc.) | |MSG_AGE        |                |Current message age (e.g. in seconds, minutes, hours, etc.) |
-|MSG_TIMEZONE                  |Current message time zone|+|MSG_TIMEZONE                  |Current message timezone written | 
 +|MSG_IMP_TIMEZONE  |             |Current message timezone imported |
 |MSG_ATTR                      |Current message attributes| |MSG_ATTR                      |Current message attributes|
 |MSG_AUXATTR    |                |Current message auxiliary attributes| |MSG_AUXATTR    |                |Current message auxiliary attributes|
Line 189: Line 212:
 |TIMEZONE                      |Current system time zone abbreviation or UTC offset| |TIMEZONE                      |Current system time zone abbreviation or UTC offset|
 |TMSG                          |Total number of messages on system| |TMSG                          |Total number of messages on system|
-|TNODE                         |Total number of Terminal Server nodes |+|TNODES         |TNODE,TN        |Total number of Terminal Server nodes |
 |TUSER          |                |Total number of currently active registered users | |TUSER          |                |Total number of currently active registered users |
 |UPTIME                        |Synchronet uptime details| |UPTIME                        |Synchronet uptime details|
Line 204: Line 227:
 |ALERTS                      |Node activity alerts enabled status (e.g. "On" or "Off") | |ALERTS                      |Node activity alerts enabled status (e.g. "On" or "Off") |
 |ALIAS        |NAME, USER      |User's alias | |ALIAS        |NAME, USER      |User's alias |
-|BAUD         |BPS             |User's connect rate (DCE) in bps | 
 |BDATE        |                |User's birth date (in "MM/DD/YY" or "DD/MM/YY" format) | |BDATE        |                |User's birth date (in "MM/DD/YY" or "DD/MM/YY" format) |
 |BYTELIMIT    |                |User's free credits per day                     | |BYTELIMIT    |                |User's free credits per day                     |
Line 214: Line 236:
 |DLBYTES      |                |Total bytes downloaded by user | |DLBYTES      |                |Total bytes downloaded by user |
 |DLFILES      |DOWNS           |Total files downloaded by user | |DLFILES      |DOWNS           |Total files downloaded by user |
-|DLKLIMIT                    |User's total credits (in kilobytes) | +|DLKLIMIT                    |User's total credits (in kibibytes) | 
-|DOWNK        |                |Total kilobytes downloaded by user |+|DOWNK        |                |Total kibibytes downloaded by user |
 |EMAILADDR    |                |User's Internet e-mail address on your system | |EMAILADDR    |                |User's Internet e-mail address on your system |
 |EXPDATE      |EXDATE          |User's expiration date (in "MM/DD/YY" or "DD/MM/YY" format) | |EXPDATE      |EXDATE          |User's expiration date (in "MM/DD/YY" or "DD/MM/YY" format) |
Line 231: Line 253:
 |LASTTIMEON                    |Time of user's last logon (in "HH:MM am" format) | |LASTTIMEON                    |Time of user's last logon (in "HH:MM am" format) |
 |LASTREAL                      |Last word of user's real name                   | |LASTREAL                      |Last word of user's real name                   |
-|KBLEFT                        |User's total credits (in kilobytes)             | +|KBLEFT                        |User's total credits (in kibibytes)             | 
-|KBLIMIT        |DLKLIMIT, MAXDK |User's free credits per day (in kilobytes)      |+|KBLIMIT        |DLKLIMIT, MAXDK |User's free credits per day (in kibibytes)      |
 |MAILW        |                |Number of mail messages waiting for current user (includes SPAM)| |MAILW        |                |Number of mail messages waiting for current user (includes SPAM)|
-|MAILW:                    |Number of mail messages waiting for current user #x (x=0 for all users)|+|MAILW://x//  |MAILW#//x//         |Number of mail messages waiting for current user number //x// (x=0 for all users)|
 |MAILP        |                |Number of pending mail messages sent by current user| |MAILP        |                |Number of pending mail messages sent by current user|
-|MAILP:                    |Number of pending mail messages sent by current user #x+|MAILP://x//  |MAILP#//x//         |Number of pending mail messages sent by current user number //x// |
-|MEMO                        |Date of user's last password modification       |+
 |MSGLEFT      |MSGSLEFT        |Total number of messages posted by user | |MSGLEFT      |MSGSLEFT        |Total number of messages posted by user |
 |MSGREAD      |                |Number of messages read by user this call | |MSGREAD      |                |Number of messages read by user this call |
Line 243: Line 264:
 |PAGER        |                |Chat pager enabled status (e.g. "On" or "Off")| |PAGER        |                |Chat pager enabled status (e.g. "On" or "Off")|
 |PHONE        |HOMEPHONE, DATA, DATAPHONE |Users's phone number | |PHONE        |HOMEPHONE, DATA, DATAPHONE |Users's phone number |
 +|PWAGE        |                |Age (in days) of the current user's password |
 +|PWDATE       |MEMO            |Date of user's last password modification (in "MM/DD/YY" or "DD/MM/YY" format) |
 |SEC          |SECURITY        |User's security level (0-99) |                           |SEC          |SECURITY        |User's security level (0-99) |                          
 |SINCE        |         |Date of user's first call (in "MM/DD/YY" or "DD/MM/YY" format)|            |SINCE        |         |Date of user's first call (in "MM/DD/YY" or "DD/MM/YY" format)|           
 |SPAMW        |         |Number of SPAM messages waiting | |SPAMW        |         |Number of SPAM messages waiting |
-|SPAMW:             |Number of SPAM messages waiting for user #x |+|SPAMW://x//  |SPAMW#//x//  |Number of SPAM messages waiting for user number //x// |
 |SPLITP               |Split-screen private chat enabled status (e.g. "On" or "Off")| |SPLITP               |Split-screen private chat enabled status (e.g. "On" or "Off")|
 |STATE        |         |User's state (from location)| |STATE        |         |User's state (from location)|
Line 258: Line 281:
 |UPBYTES      |         |Total bytes uploaded by user | |UPBYTES      |         |Total bytes uploaded by user |
 |UPFILES      |UPS      |Total files uploaded by user |  |UPFILES      |UPS      |Total files uploaded by user |
-|UPK          |         |Total kilobytes uploaded by user |+|UPK          |         |Total kibibytes uploaded by user |
 |USERNUM      |         |User's number (1-based index into user database) | |USERNUM      |         |User's number (1-based index into user database) |
 |ZIP          |         |User's zip/postal code                        |   |ZIP          |         |User's zip/postal code                        |  
Line 267: Line 290:
  
 ^Code            ^Aliases ^Description ^ ^Code            ^Aliases ^Description ^
 +|BPS             |BAUD    |Current emulated modem (DCE) bit-rate, in bps |
 +|BPS://n//              |Set the current emulated rate to 0 (unlimited), or 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, or 115200 bps|
 |BEEP            |BELL    |Generate a beep sound on the user's terminal | |BEEP            |BELL    |Generate a beep sound on the user's terminal |
 |CLS                    |Clear the screen  | |CLS                    |Clear the screen  |
Line 272: Line 297:
 |CRLF            |        |Send a carriage return/line-feed pair   | |CRLF            |        |Send a carriage return/line-feed pair   |
 |CHECKMARK              |Send a check mark symbol appropriate for the user's terminal | |CHECKMARK              |Send a check mark symbol appropriate for the user's terminal |
 +|COPY            |        |Send a copyright symbol appropriate for the user's terminal, e.g. "(c)" |
 +|SOUNDCOPY              |Send a sound-copyright symbol appropriate for the user's terminal, e.g. "(P)" |
 +|REGISTERED      |        |Send a registered mark appropriate for the user's terminal, e.g. "(r)" |
 +|TRADEMARK              |Send a trademark symbol appropriate for the user's terminal, e.g. "(tm)" |
 +|ELLIPSIS        |        |Send a ellipsis (...) appropriate for the user's terminal | 
 +|DEGREE_C        |        |Send a degree Celsius symbol appropriate for the user's terminal |
 +|DEGREE_F        |        |Send a degree Fahrenheit symbol appropriate for the user's terminal |
 +|YESCHAR                |Print the character that corresponds with an affirmative "Yes" answer key (e.g. ''Y'') |
 +|NOCHAR          |        |Print the character that corresponds with an negative "No" answer key (e.g. ''N'') |
 +|QUITCHAR        |        |Print the character that corresponds with a "quit" command key (e.g. ''Q'') |
 |EOF                    |End-of-file (stop parsing/displaying) | |EOF                    |End-of-file (stop parsing/displaying) |
 |PAUSE           |MORE    |Force a screen pause (hit a key) prompt| |PAUSE           |MORE    |Force a screen pause (hit a key) prompt|
Line 277: Line 312:
 |POFF            |NOPAUSE |Toggle automatic screen pause off | |POFF            |NOPAUSE |Toggle automatic screen pause off |
 |RESETPAUSE      |        |Reset the automatic screen pause line counter | |RESETPAUSE      |        |Reset the automatic screen pause line counter |
 +|DELAY://n//                |Wait //n// 10ths of a second before continuing |
 |UP://n//            |        |Move cursor up //n// rows                   | |UP://n//            |        |Move cursor up //n// rows                   |
 |DOWN://n//          |        |Move cursor down //n// rows                 | |DOWN://n//          |        |Move cursor down //n// rows                 |
Line 282: Line 318:
 |LEFT://n//          |        |Move cursor left //n// columns              | |LEFT://n//          |        |Move cursor left //n// columns              |
 |GOTOXY://x,y//  |        |Move cursor to //x/////y// coordinate (1-based) | |GOTOXY://x,y//  |        |Move cursor to //x/////y// coordinate (1-based) |
 +|POS://x//              |Move cursor to column //x// (1-based) |
 |HOME            |        |Home cursor (to upper left), don't clear| |HOME            |        |Home cursor (to upper left), don't clear|
 |CLRLINE                |Clear the current line (cursor to first column)| |CLRLINE                |Clear the current line (cursor to first column)|
Line 297: Line 334:
 |CENTER          |        |Middle-align the remaining text on the line | |CENTER          |        |Middle-align the remaining text on the line |
 |SYSONLY                |Toggle off/on visibility for non-sysops | |SYSONLY                |Toggle off/on visibility for non-sysops |
 +|FILL://text//          |Repeat the specified text, filling the current line (to terminal columns - 1)  |
 |WIDE://text//          |Display specified //text// double-wide, using Unicode "fullwidth" characters if possible | |WIDE://text//          |Display specified //text// double-wide, using Unicode "fullwidth" characters if possible |
 |U+//code//      |        |Send a Unicode character code point (in hexadecimal) to UTF-8 terminal or an automatic fallback character, if supported((Not all Unicode code points support fallback characters for ASCII/CP437/PETSCII terminals)) | |U+//code//      |        |Send a Unicode character code point (in hexadecimal) to UTF-8 terminal or an automatic fallback character, if supported((Not all Unicode code points support fallback characters for ASCII/CP437/PETSCII terminals)) |
-|U+//code/////char// |        | Send a Unicode character code point, specifying fallback character value in hexadecimal (or ''0'' for //none//) |+|U+//code//://text// |        | Send a Unicode character code point, specifying fallback string | 
 +|U+//code//,//char// |        | Send a Unicode character code point, specifying fallback character value in hexadecimal (or ''0'' for //none//) |
 |U+//code//!//char// |        | Send a Unicode character code point, specifying fallback character only to used when no automatic fallback is available | |U+//code//!//char// |        | Send a Unicode character code point, specifying fallback character only to used when no automatic fallback is available |
  
 ==== Unicode ==== ==== Unicode ====
-Only UTF-8 terminals support Unicode. For other terminals (TTY/ASCII, CP437, and PETSCII), an equivalent "fallback" character may be automatically available or explicitly specified in the @-code itself.+Only UTF-8 terminals support Unicode. For other terminals (TTY/ASCII, CP437, and PETSCII), an equivalent "fallback" character may be automatically available or when using the ''U+'' @-codes, explicitly specified in the @-code itself.
  
 The 'U+' @-code supports additional syntax to allow the sysop to specify the CP437 fallback character: The 'U+' @-code supports additional syntax to allow the sysop to specify the CP437 fallback character:
-  * ''@U+<code>/<char>@'': Send a Unicode character with specified fallback character, in hexadecimal (specify ''0'' to send //no// character to non-UTF-8 terminals)+  * ''@U+<code>:<text>@'': Send a Unicode character with specified fallback character sequence (string) 
 +  * ''@U+<code>,<char>@'': Send a Unicode character with specified fallback character, in hexadecimal (specify ''0'' to send //no// character to non-UTF-8 terminals)
   * ''@U+<code>!<char>@'': Send a Unicode character with specified fallback character to be used //only// when no automatic fallback character is supported   * ''@U+<code>!<char>@'': Send a Unicode character with specified fallback character to be used //only// when no automatic fallback character is supported
 +
 +=== Examples ===
 +
 +^ @-code        ^ UTF-8 ^  CP437  ^ US-ASCII ^
 +| WIDE:Test      ''Test'' |  ''T e s t''  |  ''T e s t''  |
 +| CHECKMARK      ''✓''  |  ''√''    |  ''+''    |
 +| COPY          |  ''©''  |  ''(C)''    ''(C)''  |
 +| TRADEMARK      ''™''  |  ''(TM)''  |  ''(TM)''  |
 +| ELLIPSIS      |  ''…''  |  ''...''    ''...''   |
 +| U+20AC        |  ''€''  |            |            |
 +| U+20AC,24      ''€''  |  ''$''      ''$''     |
 +| U+2265        |  ''≥''  |  ''≥''      ''>''     |
 +| U+2265!a8      ''≥''  |  ''≥''      ''>''     |
 +| U+2265,a8      ''≥''  |  ''¿''      ''?''     |
 +| U+1F609        ''😉''  |                     |
 +| U+1F609:;-)    ''😉''  |  '';-)''  |  '';-)''  |
 +
 +
 ===== External Content ===== ===== External Content =====