Ir al contenido

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.

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í

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:

Ventana de terminal
%(#wins *(%(#wins) + 1))
"$(user) ahora tiene %(#wins) wins!"

Esta sección AST ahora está dividida en guías más pequeñas para que sea más fácil aprenderla.

  1. Sintaxis y Datos de AST

    • prefijos
    • variables y almacenamiento
    • argumentos
    • arrays
    • condicionales
    • bucles
    • referencias a comandos
  2. Referencia de Funciones AST

    • funciones de usuario y Twitch
    • acciones de moderación y canal
    • contadores, clips, followage
    • EventSub, TTS, triggers y chat send
  3. 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
  4. Recetas y Patrones AST

    • buenas prácticas
    • initialize-or-increment
    • guard checks
    • selectores de usuario
    • sistemas completos de escudos

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

Este comando crea un contador simple de wins:

Ventana de terminal
*( ^(#wins) ? %(#wins *(%(#wins) + 1)) : %(#wins 1) )
"$(user) tiene %(#wins) wins!"

Qué hace:

  1. comprueba si #wins existe
  2. si existe, lo incrementa
  3. si no existe, lo crea con 1
  4. imprime el total actualizado

Algunas funciones AST dependen del plan del streamer.

FunciónFreePremiumPro
Variables en memoria
Variables de caché (#, ##)
Variables de base de datos (*, **)No
Bucles más profundosLimitadoMásMás aún
Voz IA / voice clone
  1. Empieza con una respuesta de texto plano
  2. Añade argumentos como &p1
  3. Añade funciones como $(user) o $(twitch.game)
  4. Añade variables solo cuando necesites estado
  5. Añade condicionales y bucles al final