Macros reference
Macros are placeholders replaced at send time. They work in preset prompts, character cards, lorebook entries, the Author's Note and call definitions.
Names and card fields
{{char}}: the character's name (nickname wins if the card has one).{{user}}: your active persona's name.{{description}}/{{char_description}}: the card's description.{{personality}}/{{char_personality}}: the personality field.{{scenario}}: the scenario field.{{examples}}/{{example_dialogue}}: the example messages.{{greeting}}/{{first_message}}: the first message.{{persona}}/{{user_description}}: your persona's description.{{char_prompt}}: the card's system prompt field.{{original}}: inside a card's system prompt, embeds the preset prompt it would otherwise replace.
Time and dice
{{date}},{{time}},{{datetime}}: the current date and time.{{roll::20}}: a random number from 1 to 20. Any N works.{{random::a,b,c}}: picks one item from the list at random.
Variables and conditionals (CBS)
ScyllaChat understands the RisuAI CBS syntax used by scripted cards:
{{setvar::name::value}},{{getvar::name}},{{addvar::name::1}}: per-chat variables that persist with the conversation.{{#if condition}}...{{/if}}blocks, including{{#if_pure}}variants.{{? expression}}: inline calculation and comparison.
Card trigger scripts read and write the same variables, so a card can track affection, time of day or inventory and steer its own prompts with it.
Sub-requests
{{call:name}}: runs the saved call name (its own prompt, model and settings), waits for the answer, and pastes it in place. Calls nest up to five levels and cache within a generation. See Calls.
Where macros work
Everywhere prompt text is assembled: preset prompts, card fields, lorebook entry content, the Author's Note, and call definitions. Macros in your chat messages are left alone; the story text is yours.
ScyllaChat