Skip to content
SynacNipo edited this page Aug 2, 2026 · 1 revision

Macros

A macro is a plain text file in macros/ that runs a sequence of commands when someone types !import <name>.

Example macros/minecraft.txt:

# comments start with #
!combo win+r
!type minecraft
!key enter
!wait 8000
!key enter

Anyone in chat can now trigger it with a single message: !import minecraft.

Rules

  • One command per line: !key, !type, !send, !combo, !import, !wait.
  • # lines are comments. Blank lines are skipped.
  • File names should have no spaces (doom.txt, minecraft.txt).
  • Macros can call other macros (!import other) - up to 3 levels deep.
  • Atomicity: a macro runs as one uninterrupted unit. Other chatters' commands queue up and can't interleave keystrokes while it runs.
  • If a step fails, the macro aborts with the error shown.

Why !wait matters in macros

!wait <ms> (max 10000) pauses the sequence. Chat can use it too, but macros are where it shines - boot sequences after a restart, loading screens, launcher windows:

!restartvm      # voted restart, VM reboots (~10 s)
!wait 15000     # wait for the guest to come back
!combo win+r    # open the run dialog
!type doom      # or run rundoom.bat
!key enter

Testing

Save the macro, then run it yourself at the CLI prompt before going live:

npm start
!import minecraft

There's a sample macros/this.txt and a full guide in macros/readthis.txt inside the repo.

Clone this wiki locally