Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
custom:atcodes [2020/12/05 17:02] – [System Information] add the new thread-info MSG_THREAD_* codes digital man | custom:atcodes [2023/03/12 18:22] – [Terminal Information / Control] Add the TRUNCATE @-code digital man |
---|
====== 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. |
|AUTODEL | |Maximum days of user inactivity before auto-deletion or "unlimited" | | |AUTODEL | |Maximum days of user inactivity before auto-deletion or "unlimited" | |
|BBS |BOARDNAME |Name of BBS | | |BBS |BOARDNAME |Name of BBS | |
| |BUILD_DATE | |Date of Synchronet build | |
| |BUILD_TIME | |Time of Synchronet build | |
|COMPILER | |Compiler used to build Synchronet| | |COMPILER | |Compiler used to build Synchronet| |
|CONF | |Name of current Group and Sub-board| | |CONF | |Name of current Group and Sub-board| |
|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 | |
|ONODES |ONODE, ON |Number of other active nodes (not counting current node) | | |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| |
| |OS_CPU | |Processor architecture name according to the operating system (e.g. "x86", new in v3.20) | |
|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" | | |PWDAYS | |Maximum age (in days) of user's password before forced-change or "unlimited" | |
|MSG_AUXATTR | |Current message auxiliary attributes| | |MSG_AUXATTR | |Current message auxiliary attributes| |
|MSG_NETATTR | |Current message network attributes| | |MSG_NETATTR | |Current message network attributes| |
|MSG_UPVOTES | |Current message total number of 'up-votes' (new v3.17)| | |MSG_UPVOTES | |Current message total number of 'up-votes' (new in v3.17)| |
|MSG_DOWNVOTES | |Current message total number of 'down-votes' (new in v3.17)| | |MSG_DOWNVOTES | |Current message total number of 'down-votes' (new in v3.17)| |
|MSG_SCORE | |Current message vote score (down-votes subtracted from up-votes)| | |MSG_SCORE | |Current message vote score (down-votes subtracted from up-votes)| |
|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 | |
|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 | |
|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 | |
|CLEAR | |Clear the screen, all existing mouse hot-spots and eat the next newline sequence | | |CLEAR | |Clear the screen, all existing mouse hot-spots and eat the next newline sequence | |
|CLEAR_HOT | |Clear all existing mouse hot-spots | | |CLEAR_HOT | |Clear all existing mouse hot-spots | |
| |CPS | |Current/latest file download rate, in characters/bytes per second (new in v3.20)| |
|HOT | |Define a new mouse hot-spot color (the color of the @-code defines the hot-spot attributes) | | |HOT | |Define a new mouse hot-spot color (the color of the @-code defines the hot-spot attributes) | |
|HOT:HUNGRY | |Define a new mouse hot-spot color for defining hungry hot-spots (hungry hot-spots are the default type) | | |HOT:HUNGRY | |Define a new mouse hot-spot color for defining hungry hot-spots (hungry hot-spots are the default type) | |
|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 key) prompt| | |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 | | |
|POFF |NOPAUSE |Toggle automatic screen pause off | | |POFF |NOPAUSE |Toggle automatic screen pause off | |
| |PON |AUTOMORE|Toggle automatic screen pause on | |
| |QOFF | |Toggle display abort-ability off | |
| |QON | |Toggle display abort-ability on | |
|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 | | |LINEDELAY | |Wait 1/10th of a second before sending each newline character (new in v3.20) | |
| |LINEDELAY://n// | |Wait //n// 100ths of a second before sending each newline character, 0 to disable (new in v3.20) | |
| |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) | |
|TERM | |Terminal-type name (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB') | | |TERM | |Terminal-type name (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB') | |
|CHARSET | |Terminal character set supported (i.e. 'UTF-8', 'CP437', 'PETSCII', or 'US-ASCII') | | |CHARSET | |Terminal character set supported (i.e. 'UTF-8', 'CP437', 'PETSCII', or 'US-ASCII') | |
|WORDWRAP | |Word-wrap the the following text | | |TRUNCATE | |Truncate long lines in the following text | |
| |WORDWRAP | |Word-wrap long lines in the following text | |
|WRAPOFF | |Mark the end of a word-wrapped text block | | |WRAPOFF | |Mark the end of a word-wrapped text block | |
|CENTER | |Middle-align the remaining text on the line | | |CENTER | |Middle-align the remaining text on the line | |
|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 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 | |
| |!//x// | | Execute the terminal/attribute control sequences for one or more [[Ctrl-A Codes]] (operands) represented by //x//| |
==== C-Text ==== | ==== C-Text ==== |
| |