Comandos Personalizados Avanzados (AST)
El parser AST de DomDimaBot es la capa avanzada detrás de los comandos personalizados. Te permite construir comandos que guardan valores, ejecutan lógica, llaman funciones, reutilizan otros comandos y responden distinto según el contexto.
Para qué sirve AST
Sección titulada «Para qué sirve AST»Usa AST cuando quieres que un comando haga algo más que enviar texto fijo.
- guardar contadores y progreso de usuarios
- construir respuestas dinámicas
- ejecutar lógica tipo if / else
- trabajar con arrays y bucles
- llamar funciones de Twitch, moderación, TTS, triggers y EventSub
- encadenar comandos entre sí
Importante: las variables no vienen creadas
Sección titulada «Importante: las variables no vienen creadas»DomDimaBot no te da variables AST por defecto automáticamente.
- Las variables las creas tú con
%(...) - Si quieres guardar un valor, debes crear esa variable
- Los datos de contexto normalmente vienen de funciones como
$(user),$(twitch.game)o de argumentos como&p1
Ejemplo:
%(#wins *(%(#wins) + 1))"$(user) ahora tiene %(#wins) wins!"Empieza aquí
Sección titulada «Empieza aquí»Esta sección AST ahora está dividida en guías más pequeñas para que sea más fácil aprenderla.
-
- prefijos
- variables y almacenamiento
- argumentos
- arrays
- condicionales
- bucles
- referencias a comandos
-
- funciones de usuario y Twitch
- acciones de moderación y canal
- contadores, clips, followage
- EventSub, TTS, triggers y chat send
-
Ejecución, Errores y Límites de AST
- cómo corre el parser
- errores comunes
- límites de bucles y recursión
- mentalidad de debugging
-
- buenas prácticas
- initialize-or-increment
- guard checks
- selectores de usuario
- sistemas completos de escudos
Modelo mental rápido
Sección titulada «Modelo mental rápido»Piensa en los comandos AST como pequeños scripts dentro de un comando personalizado.
%(...)= leer o escribir tus variables$(...)= llamar una función*(...)= calcular lógica^(...)= comprobar si algo existe#(...)= ejecutar otro comando desde este comando
Ejemplo rápido
Sección titulada «Ejemplo rápido»Este comando crea un contador simple de wins:
*( ^(#wins) ? %(#wins *(%(#wins) + 1)) : %(#wins 1) )"$(user) tiene %(#wins) wins!"Qué hace:
- comprueba si
#winsexiste - si existe, lo incrementa
- si no existe, lo crea con
1 - imprime el total actualizado
Funciones según el plan
Sección titulada «Funciones según el plan»Algunas funciones AST dependen del plan del streamer.
| Función | Free | Premium | Pro |
|---|---|---|---|
| Variables en memoria | Sí | Sí | Sí |
Variables de caché (#, ##) | Sí | Sí | Sí |
Variables de base de datos (*, **) | No | Sí | Sí |
| Bucles más profundos | Limitado | Más | Más aún |
| Voz IA / voice clone | Sí | Sí | Sí |
Flujo recomendado
Sección titulada «Flujo recomendado»- Empieza con una respuesta de texto plano
- Añade argumentos como
&p1 - Añade funciones como
$(user)o$(twitch.game) - Añade variables solo cuando necesites estado
- Añade condicionales y bucles al final