Cerca documentazione...

Inizia a digitare per cercare nella documentazione

Guida alla chat

Macro (CBS)

Scripting a graffe dentro qualsiasi testo di prompt.

Sintassi

Le macro sono token a doppie graffe espansi al momento della richiesta. Funzionano nei campi dei personaggi, nelle voci dei lorebook, nei preset, nei saluti e nel testo normale della chat, e si annidano.

text
{{char}} smiles at {{user}}.
{{random::sunny::rainy::foggy}}
{{calc::1+2*3}}

Gli argomenti si separano con doppi due punti. Le macro sconosciute si espandono a nulla invece di dare errore, così un refuso non rompe mai una richiesta.

Macro di base

MacroSi espande in
{{char}}Il nome del personaggio corrente (chat di gruppo: il parlante corrente).
{{user}}Il nome della tua persona.
{{persona}}La descrizione della tua persona.
{{description}}Il campo descrizione del personaggio corrente.
{{lastmessage}}Il testo del messaggio più recente.
{{time}} / {{date}}Ora / data correnti nella tua lingua e fuso orario.

Casualità

random sceglie un argomento nuovo a ogni espansione, pick fa una scelta stabile per la conversazione, e roll lancia dadi in notazione d.

text
{{random::a::b::c}}   {{pick::a::b::c}}   {{roll::d20}}

Tiri e valori casuali hanno un seme per turno: una rigenerazione riusa gli stessi valori, quindi lo swipe non rilancia i dadi.

Variabili

Le variabili di chat persistono per ramo di conversazione; le variabili globali persistono in tutte le chat. Impostale in qualsiasi testo con macro o dagli script trigger.

text
{{setvar::mood::happy}}
{{getvar::mood}}
{{setglobalvar::visits::1}}

La memoria per ramo significa che passare a un altro ramo ripristina il suo stato delle variabili; i rami fratelli non si passano mai valori a vicenda.

Forme a blocco

I blocchi avvolgono contenuto: if rende il corpo solo se la condizione è vera, each cicla sugli array con sostituzione di slot, e when aggiunge rami else per riga.

text
{{#if {{equal::{{getvar::mood}}::happy}}}}
{{char}} is in a great mood.
{{/if}}

{{#each {{array::red::green::blue}} item}}
Color: {{slot::item}}
{{/each}}

pure ed escape proteggono le graffe letterali dall'espansione; ogni tag di chiusura chiude il blocco aperto più interno.

Commenti e letterali

Le macro commento svaniscono prima che il modello le veda, perfette per appunti nei campi della scheda. Usa i blocchi pure quando devi mostrare la sintassi delle macro alla lettera.

text
{{// note to self, never sent to the model}}
{{#pure}}{{char}} stays literal here{{/pure}}
Macro CBS in UnoRouter