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 revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
custom:atcodes [2020/10/15 19:14]
digital man [External Content] Add TEXT:num @-code.
custom:atcodes [2021/08/15 15:50]
digital man [User Information] Added UDR and UDFR @-codes
Line 1: Line 1:
 ====== Message Variables (@-codes) ====== ====== Message Variables (@-codes) ======
  
-Synchronet sysop-posted messages, text and menu files, and some lines in the ''​[[dir:​ctrl]]/​[[text.dat]]''​ file may contain special //Message Variables//,​ also called //@-codes// ("at codes",​ some BBS authors and sysops refer to these types of codes as "@ Macros"​ or  "MCI codes"​((and not because of the defunct phone company))). @-codes may also be displayed using the ''​bbs.atcode()''​ JavaScript method.+Synchronet sysop-posted messages, text and menu files, and some lines in the ''​[[dir:​ctrl]]/​[[text.dat]]''​ file may contain special //Message Variables//,​ also called //@-codes// ("at codes",​ some BBS authors and sysops refer to these types of codes as "@ Macros"​ or "@ Variables"​ or "MCI codes"​((and not because of the defunct phone company))). @-codes may also be displayed using the ''​bbs.atcode()'' ​[[JavaScript]] method.
  
 @-codes are called such because they begin and end with the ''​@''​ (ASCII 64) ("​at"​) character. The code names themselves (sandwiched between the @'s) must be entered using only ''​UPPERCASE''​ letters. Some additional symbols and numbers may also be included in the @-code, but never a space. @-codes are called such because they begin and end with the ''​@''​ (ASCII 64) ("​at"​) character. The code names themselves (sandwiched between the @'s) must be entered using only ''​UPPERCASE''​ letters. Some additional symbols and numbers may also be included in the @-code, but never a space.
Line 97: Line 97:
 |FREESPACEK ​    ​| ​               |Free disk space available for uploads (in kibibytes) | |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"​)|
 +|GIT_BRANCH ​    ​| ​               |Synchronet Git repository branch name (e.g. "​master"​)|
 +|GIT_HASH ​      ​| ​               |Synchronet Git repository commit hash (most significant Git-SHA hex-digits)|
 |GRP            |                |Current message group short description | |GRP            |                |Current message group short description |
 |GRPL           ​| ​               |Current message group long description | |GRPL           ​| ​               |Current message group long description |
Line 176: Line 178:
 |MSG_UPVOTED ​   |                |Current user up-voted status for current message (checkmark) | |MSG_UPVOTED ​   |                |Current user up-voted status for current message (checkmark) |
 |MSG_DOWNVOTED ​ |                |Current user down-voted status for current message (checkmark) | |MSG_DOWNVOTED ​ |                |Current user down-voted status for current message (checkmark) |
 +|MSG_THREAD_ID ​ |                |Current message thread'​s thread-id (message number) |
 +|MSG_THREAD_NEXT| ​               |Current message thread'​s next message number |
 +|MSG_THREAD_BACK| ​               |Current message thread'​s previous message number |
 +|MSG_THREAD_FIRST| ​              ​|Current message'​s first reply message number |
 |FILE_AREA ​     |                |Current file area (lib and directory) names | |FILE_AREA ​     |                |Current file area (lib and directory) names |
 |FILE_AREA_DESC |                |Current file area (lib and directory) descriptions | |FILE_AREA_DESC |                |Current file area (lib and directory) descriptions |
Line 216: Line 222:
 |SYSOP ​         |                |Name of System Operator | |SYSOP ​         |                |Name of System Operator |
 |SYSAVAIL ​      ​| ​               |Sysop availability for chat (e.g. "​Available"​ or "Not Available"​)| |SYSAVAIL ​      ​| ​               |Sysop availability for chat (e.g. "​Available"​ or "Not Available"​)|
 +|SYSAVAILYN ​    ​| ​               |Sysop availability for chat (e.g. "​Yes"​ or "​No"​)|
 |TFILE ​         |                |Total number of files on system | |TFILE ​         |                |Total number of files on system |
 |TIME           ​|SYSTIME ​        ​|Current system time | |TIME           ​|SYSTIME ​        ​|Current system time |
Line 280: Line 287:
 |KBLEFT ​        ​| ​               |User'​s total credits (in kibibytes) ​            | |KBLEFT ​        ​| ​               |User'​s total credits (in kibibytes) ​            |
 |KBLIMIT ​       |DLKLIMIT, MAXDK |User'​s free credits per day (in kibibytes) ​     | |KBLIMIT ​       |DLKLIMIT, MAXDK |User'​s free credits per day (in kibibytes) ​     |
-|MAILW        ​| ​               |Number of mail messages waiting for current user (includes SPAM)| +|MAILR        ​| ​                 |Number ​of read mail messages waiting for current user| 
-|MAILW://​x// ​ |MAILW#//​x// ​        ​|Number ​of mail messages waiting for current ​user number //x// (x=0 for all users)| +|MAILR://​x// ​ |MAILR#//​x// ​      ​|Number of read mail messages waiting for user number //x// (x=0 for all users)| 
-|MAILP ​       |                |Number of pending mail messages sent by current user| +|MAILU ​       |                  |Number of unread mail messages waiting for current user| 
-|MAILP://​x// ​ |MAILP#//​x// ​        ​|Number of pending mail messages sent by current ​user number //x// |+|MAILU://​x// ​ |MAILU#//​x// ​      ​|Number of unread mail messages waiting for user number //x// (x=0 for all users)| 
 +|MAILW ​       |                  |Total number ​of mail messages waiting for current user (includes SPAM)| 
 +|MAILW://​x// ​ |MAILW#//​x// ​      ​|Total number ​of mail messages waiting for user number //x// (x=0 for all users)| 
 +|MAILP ​       |                  |Number of pending mail messages sent by current user| 
 +|MAILP://​x// ​ |MAILP#//​x// ​      ​|Number of pending mail messages sent by user number //x// |
 |MAXCALLS ​    ​| ​               |Maximum number of calls/​logons per day allowed per user's security level | |MAXCALLS ​    ​| ​               |Maximum number of calls/​logons per day allowed per user's security level |
 |MAXLINES ​    ​| ​               |Maximum number of lines per message allowed per user's security level | |MAXLINES ​    ​| ​               |Maximum number of lines per message allowed per user's security level |
Line 300: Line 311:
 |NOTE         ​|MEMO1 ​          ​|User'​s note (new in v3.18c) | |NOTE         ​|MEMO1 ​          ​|User'​s note (new in v3.18c) |
 |PAGER ​       |                |Chat pager enabled status (e.g. "​On"​ or "​Off"​)| |PAGER ​       |                |Chat pager enabled status (e.g. "​On"​ or "​Off"​)|
-|PCR          |                |User'​s post/call ratio (0-100) | +|PCR          |                |User'​s post/call ratio, as a percentage ​(not capped at 100) | 
-|PHONE ​       |HOMEPHONE, DATA, DATAPHONE |Users's phone number |+|PHONE ​       |HOMEPHONE, DATA, DATAPHONE |User's phone number |
 |PTODAY ​      ​| ​               |Number of messages posted by user today | |PTODAY ​      ​| ​               |Number of messages posted by user today |
 |PWAGE ​       |                |Age (in days) of the current user's password | |PWAGE ​       |                |Age (in days) of the current user's password |
Line 324: Line 335:
 |TTOTAL ​      ​| ​        ​|Total time used by user for all previous calls/​logons (in "​HH:​MM"​ format) | |TTOTAL ​      ​| ​        ​|Total time used by user for all previous calls/​logons (in "​HH:​MM"​ format) |
 |TUSED ​       |         |Time used this call (in "​H:​MM:​SS"​ format) |  |TUSED ​       |         |Time used this call (in "​H:​MM:​SS"​ format) |
 +|UDR          |         ​|User'​s upload/​download byte ratio, as a percentage (not capped at 100) |
 +|UDFR         ​| ​        ​|User'​s upload/​download file ratio, as a percentage (not capped at 100) |
 |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 |
Line 362: Line 375:
 |QUITCHAR ​       |        |Print the character that corresponds with a "​quit"​ command key (e.g. ''​Q''​) | |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 keyprompt|+|PAUSE ​          ​|MORE ​   |Force a screen pause and a ''​[Hit ​a key]'' ​prompt, if '​N'​ or '​Q'​ are typed, the displayed message/​file is aborted ​|
 |PON             ​|AUTOMORE|Toggle automatic screen pause on | |PON             ​|AUTOMORE|Toggle automatic screen pause on |
 |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 | +|GETKEY ​         |        |Wait indefinitely for any key press before continuing | 
-|UP://​n// ​           |        |Move cursor up //n// rows                   | +|CONTINUE ​       |        |Wait indefinitely for any key press before continuing and abort the message/​file display if '​N'​ or '​Q'​ are typed |  
-|DOWN://​n// ​         |        |Move cursor down //n// rows                 | +|WAIT://​n// ​     |        |Wait up to //n// 10ths of a second for a key press before continuing | 
-|RIGHT://​n// ​        ​|        |Move cursor right //n// columns ​            | +|DELAY://​n// ​    ​|        |Wait //n// 10ths of a second before continuing | 
-|LEFT://​n// ​         |        |Move cursor left //n// columns ​             |+|UP://​n// ​       |        |Move cursor up //n// rows                   | 
 +|DOWN://​n// ​     |        |Move cursor down //n// rows                 | 
 +|RIGHT://​n// ​    ​|        |Move cursor right //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) | |POS://​x// ​      ​| ​       |Move cursor to column //x// (1-based) |
Line 388: Line 404:
 |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 |
 +|SHOW://​ars// ​   |        |Turn off the display of the following text for users not meeting the specified [[access:​requirements|Access Requirements String]] (without spaces). |
 +|SHOW            |        |Turn on the display of following text for all users |
 |FILL://​ctext// ​ |        |Repeat the specified //ctext// (may contain C-escape sequences), filling the current line (to terminal columns - 1)  | |FILL://​ctext// ​ |        |Repeat the specified //ctext// (may contain C-escape sequences), 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 |

In Other Languages