Both sides previous revisionPrevious revisionNext revision | Previous revision |
custom:atcodes [2020/11/25 14:09] – [System Information] Added SYSAVAILYN digital man | custom:atcodes [2023/09/13 18:57] (current) – [User Information] Add PROT and PROTNAME (new) 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)| |
|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 | |
|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 | |
| |ANFSCAN | |Automatically scan for new files after new messages (e.g. "On" or "Off") | |
| |ASKNSCAN | |Prompt for new message scan during logon (e.g. "On" or "Off") | |
| |ASKSSCAN | |Prompt for your personal message scan during logon (e.g. "On" or "Off") | |
| |AUTOHANG | |Automatically hang-up after file transfers (e.g. "On" or "Off") | |
| |AUTOLOGON | |Automatically login via IP address (e.g. "On" or "Off") | |
|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) | |
|BDATE://fmt//|BIRTH://fmt// |User's birth date in the specified [[strftime]] format | | |BDATE://fmt//|BIRTH://fmt// |User's birth date in the specified [[strftime]] format | |
|DLKLIMIT | |User's total credits (in kibibytes) | | |DLKLIMIT | |User's total credits (in kibibytes) | |
|DOWNK | |Total kibibytes downloaded by user | | |DOWNK | |Total kibibytes downloaded by user | |
| |EDITOR | |User's selected external editor name or "None" | |
|EMAILADDR | |User's Internet e-mail address on your system | | |EMAILADDR | |User's Internet e-mail address on your system | |
|EMAILS | |Total number of emails sent by user | | |EMAILS | |Total number of emails sent by user | |
|EXPDATE://fmt// | |User's expiration date in specified [[strftime]] format | | |EXPDATE://fmt// | |User's expiration date in specified [[strftime]] format | |
|EXPDAYS | |Days left before user expires | | |EXPDAYS | |Days left before user expires | |
| |EXPERT | |Expert menu mode enabled ('On' or 'Off')| |
|FBACKS | |Number of feedback messages sent by user | | |FBACKS | |Number of feedback messages sent by user | |
| |FILEDESC | |Display extended file descriptions in file listings ('On' or 'Off')| |
| |FILEFLAG | |Display file flagging prompt in file listings ('On' or 'Off')| |
|FIRST | |First word of user's alias | | |FIRST | |First word of user's alias | |
|FIRSTON | |Date and time of user's first logon | | |FIRSTON | |Date and time of user's first logon | |
|FWD | |User's netmail forward status (e.g. "On" or "Off") (new in v3.18c)| | |FWD | |User's netmail forward status (e.g. "On" or "Off") (new in v3.18c)| |
|HANDLE | |User's chat handle | | |HANDLE | |User's chat handle | |
| |HOTKEYS | |Hot-key user input mode enabled ('On' or 'Off')| |
|HOST |CPU |Client's hostname | | |HOST |CPU |Client's hostname | |
|IP |CID |Client's IP address or Caller-ID information | | |IP |CID |Client's IP address or Caller-ID information | |
|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 | |
|MPERC |TIMELIMIT |Minutes allowed per call/logon | | |MPERC |TIMELIMIT |Minutes allowed per call/logon | |
|MPERD | |Minutes allowed per day | | |MPERD | |Minutes allowed per day | |
| |MSGCLS | |Clear screen before each message ('On' or 'Off')| |
|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 | |
|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) | | |PAUSESPIN | |Spinning cursor at pause prompts ('On' or 'Off')| |
|PHONE |HOMEPHONE, DATA, DATAPHONE |Users's phone number | | |PCR | |User's post/call ratio, as a percentage (not capped at 100) | |
| |PHONE |HOMEPHONE, DATA, DATAPHONE |User's phone number | |
| |PROT | |Default file transfer protocol (key/character) | |
| |PROTNAME | |Full name of default file transfer protocol | |
|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 | |
|PWDATE |MEMO |Date of user's last password modification (in "MM/DD/YY" or "DD/MM/YY" format) | | |PWDATE |MEMO |Date of user's last password modification (in "MM/DD/YY" or "DD/MM/YY" format) | |
|PWDATE://fmt//| |Date/time of user's last password modified in specified [[strftime]] format | | |PWDATE://fmt//| |Date/time of user's last password modified in specified [[strftime]] format | |
| |QUIET | |Quiet logon mode enabled (e.g. "On" or "Off") | |
|REALNAME |COMPANY, MEMO2 |User's real name | | |REALNAME |COMPANY, MEMO2 |User's real name | |
| |REMSUBS | |Remember current sub-board and file director between logins ('On' or 'Off')| |
|SEC |SECURITY |User's security level (0-99) | | |SEC |SECURITY |User's security level (0-99) | |
| |SHELL | |User's selected command shell name | |
|SPAMW | |Number of SPAM messages waiting | | |SPAMW | |Number of SPAM messages waiting | |
|SPAMW://x// |SPAMW#//x// |Number of SPAM messages waiting for user number //x// | | |SPAMW://x// |SPAMW#//x// |Number of SPAM messages waiting for user number //x// | |
| |SPIN | |Spinning cursor enabled ('On' or 'Off')| |
|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)| |
|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) | |
| |UPAUSE | |Automatic screen-pausing ('Hit a key' prompting) ('On' or 'Off')| |
|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 | | |GETDIM | |Request current (ANSI) terminal dimensions (rows and columns), only when set to auto-detect | |
|UP://n// | |Move cursor up //n// rows | | |GETKEY | |Wait indefinitely for any key press before continuing | |
|DOWN://n// | |Move cursor down //n// rows | | |CONTINUE | |Wait indefinitely for any key press before continuing and abort the message/file display if 'N' or 'Q' are typed | |
|RIGHT://n// | |Move cursor right //n// columns | | |WAIT://n// | |Wait up to //n// 10ths of a second for a key press before continuing | |
|LEFT://n// | |Move cursor left //n// columns | | |DELAY://n// | |Wait //n// 10ths of a second before continuing | |
| |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) | |
|ROWS | |Number of terminal rows | | |ROWS | |Number of terminal rows | |
|TERM | |Terminal-type name (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB') | | |TERM | |Terminal-type name (i.e. 'ANSI', 'RIP', 'PETSCII', or 'DUMB') | |
| |TERMTYPE | |Verbose terminal type configuration | |
| |TERMCOLS | |Verbose terminal column configuration | |
| |TERMROWS | |Verbose terminal row/lines configuration | |
|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 | | |AUTOTERM | |Automatic terminal type detection ('On' or 'Off')| |
| |ANSI | |ANSI-BBS terminal emulation ('On' or 'Off')| |
| |ASCII | |ASCII terminal character set ('On' or 'Off')| |
| |PETSCII | |CBM/PETSCII terminal emulation ('On' or 'Off')| |
| |UTF8 | |UTF-8 terminal character set ('On' or 'Off')| |
| |COLOR | |Color terminal support ('On' or 'Off')| |
| |ICE | |Bright-background (ICE color) support ('On' or 'Off')| |
| |RIP | |RIPscrip terminal emulation ('On' or 'Off')| |
| |SWAPDEL | |Reverse the traditional DEL and Backspace input key codes ('On' or 'Off')| |
| |MOUSE | |Mouse support ('On' or 'Off')| |
| |TRUNCATE | |Truncate long lines in the following text | |
| |TRUNCOFF | |Mark the end of a truncated text block (turn off long-line truncation) | |
| |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 | |
|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 | |
|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 ==== |
| |