Automatizaciones
Crea flujos personalizados de disparadores, condiciones y acciones que reaccionan a casi cualquier cosa en tu servidor, además de dos formas de conectarte con el exterior.
Cómo funciona
Cada automatización tiene tres partes: exactamente un disparador que la inicia, condiciones opcionales que deben cumplirse antes y una lista ordenada de acciones que se ejecutan después. Las automatizaciones pueden leer datos de su disparador, como el mensaje enviado o el miembro que entró, y reutilizarlos en condiciones y acciones con tokens {variable}, igual que los comandos personalizados y las respuestas automáticas.
Crea automatizaciones con IA
En lugar de usar el editor, puedes dejar que un asistente de IA diseñe la automatización por ti. Descarga la guía de abajo: un único archivo Markdown que explica al asistente cada disparador, condición, acción, variable y límite, incluido el formato de importación. Funciona con ChatGPT, Claude, Gemini y cualquier otro asistente que pueda leer un archivo de texto.
- Descarga la guía y adjúntala a una conversación nueva con tu asistente de IA. Si no admite adjuntos o rechaza archivos .md, cambia la extensión a .txt o pega su contenido en el chat.
- Describe lo que quieres con palabras sencillas, por ejemplo "publica en un canal cuando entre una cuenta con menos de una semana". El asistente responde con un resumen, las variables que hay que crear antes, un bloque de JSON y una lista de comprobación.
- En el panel, abre Automatizaciones → Importar, pega el JSON e impórtalo. Después elige los canales y roles (nunca se transfieren), ejecútala una vez en Pruebas y registros y actívala.
Disparadores
Cada automatización tiene exactamente un disparador: el evento que la inicia. Puedes elegir entre casi todo lo que vigila AutoMod, además de un webhook entrante y la llamada desde otra automatización.
| Disparador | Categoría | Se inicia cuando… |
|---|---|---|
| Mensaje enviado | Mensajes | Un miembro envía un mensaje, opcionalmente en canales concretos. Usa condiciones para detectar enlaces, invitaciones, archivos adjuntos, palabras clave y más. |
| Mensaje editado / eliminado | Mensajes | Un mensaje se edita, se elimina o se elimina en masa. |
| Reacción añadida / quitada | Mensajes | Se añade, quita o vacía una reacción de un mensaje. |
| Miembro unido | Miembros | Un miembro entra en el servidor o supera la verificación de miembros. |
| Miembro salido | Miembros | Un miembro se va, es expulsado o es baneado. |
| Miembro actualizado | Miembros | Cambia el apodo, el avatar, el nombre de usuario o el aislamiento de un miembro. |
| Rol añadido / quitado | Miembros | Se añade o se quita un rol a un miembro. |
| Servidor mejorado | Miembros | Un miembro empieza o deja de mejorar el servidor. |
| Cambio de estado de voz | Voz | Un miembro entra, sale, se mueve, se silencia o transmite en voz. |
| Acción de moderación aplicada | Moderación | Se crea una advertencia, silencio, expulsión, baneo o caso. El miembro sancionado es el usuario que lo activa. |
| Umbral de moderación alcanzado | Moderación | El número de advertencias o casos de un miembro llega a una cifra definida. |
| Filtro activado | Moderación | El filtro de palabras, invitaciones, spam, estafas, raids o el AutoMod nativo detecta algo. |
| Programación activada | Integraciones | Se alcanza una programación cron, un intervalo, una fecha única, un cumpleaños o un aniversario. |
| Webhook entrante | Integraciones | Un servicio externo envía una solicitud HTTP a la URL única de esta automatización. |
| Llamada desde otra automatización | Control de flujo | Esta automatización solo se ejecuta cuando la invoca la acción "Llamar automatización" de otra automatización. |
| Miembro subió de nivel | Miembros | El XP de un miembro llega a un nuevo nivel en el plugin Niveles, sin importar cómo lo haya ganado. |
| Cambio de membresía | Miembros | Pasa algo con una membresía de pago del plugin Monetización: una compra, renovación, cancelación, pago fallido, fin, reembolso, regalo o propina. |
| Botón, menú o formulario usado | Mensajes | Se usa un botón, menú de selección o formulario enviado por otra automatización. El componente elige esta automatización como destino. |
| Comando de barra usado | Mensajes | Un miembro usa el comando de barra propio de esta automatización, con las opciones que definas. |
| Evento de directo | Integraciones | Algo pasa en tu canal conectado de Twitch o Kick, como un nuevo seguidor, una suscripción, un raid o el inicio del directo. |
Webhooks entrantes
El disparador Webhook entrante da a una automatización su propia URL. Envíale un HTTP POST desde cualquier servicio externo (un servicio de formularios, un proveedor de pagos, tu propio backend) y la automatización se ejecuta con el cuerpo, los encabezados y el origen de la solicitud disponibles como variables {http.*} en cada condición y acción.
Límites de velocidad, en ambos sentidos
El endpoint público del webhook tiene un límite de velocidad por URL y por IP de origen antes de que pase cualquier otra cosa, incluidas las búsquedas, la comprobación de firmas y la lectura del cuerpo. Una avalancha contra una URL, o un barrido de muchas URL adivinadas, no puede ralentizar el resto de la aplicación. Además, cada automatización tiene un espaciado mínimo integrado de 1 s entre ejecuciones, incluso sin tiempo de espera configurado, así que un disparador muy activo nunca puede ejecutarse sin límite.
Seguridad también hacia fuera
La acción Solicitud HTTP sigue el mismo estándar a la inversa: solo se permiten URL que empiecen por https:// y la IP de destino se resuelve y se vuelve a comprobar en cada redirección. Además, se rechazan las direcciones de loopback, privadas, link-local y de metadatos de la nube. Una automatización nunca puede usarse para llegar a la infraestructura interna.
Condiciones
Las condiciones deciden si las acciones de una automatización se ejecutan o no. Añade las que necesites y elige si deben cumplirse todas (Y) o solo una (O). Sin ninguna, las acciones se ejecutan siempre que se activa el disparador.
| Condición | Categoría | Comprueba… |
|---|---|---|
| Tiene roles | Miembros | Comprueba si el usuario tiene alguno, todos o ninguno de los roles seleccionados. |
| Identidad del usuario | Miembros | Comprueba si el usuario es un usuario normal, un bot, un webhook o tiene el avatar predeterminado. |
| Antigüedad de cuenta / membresía | Miembros | Comprueba la antigüedad de la cuenta del usuario o cuánto tiempo lleva como miembro. |
| Tiene permiso | Miembros | Comprueba si el usuario tiene un permiso concreto de Discord. |
| Jerarquía de roles | Miembros | Compara el rol más alto del moderador con el rol más alto del objetivo (para disparadores de acciones de moderación). |
| Contador del usuario | Miembros | Comprueba las advertencias, casos, nivel o XP de un usuario. |
| Estado del usuario | Miembros | Comprueba si el usuario está mejorando el servidor, aislado, silenciado o en un canal de voz. |
| Contenido del mensaje | Mensajes | Compara el texto del mensaje con un valor, un patrón o una lista de palabras. |
| Forma del mensaje | Mensajes | Comprueba la longitud, la proporción de mayúsculas, el número de emojis, los caracteres repetidos o el texto zalgo. |
| El mensaje contiene | Mensajes | Comprueba si el mensaje contiene un enlace, una invitación, un archivo adjunto, un embed o suficientes menciones. |
| Similitud de mensajes | Mensajes | Compara el mensaje con los últimos mensajes del usuario para detectar spam repetido. |
| En el canal | Canales | Comprueba si ocurrió en un canal, una categoría o un hilo concretos. |
| Franja horaria | Contexto | Comprueba el día de la semana y la hora del día, en la zona horaria de tu servidor. |
| Estado del servidor | Contexto | Comprueba el número de miembros, el nivel de mejoras, una función del servidor o el modo raid. |
| Ráfaga de eventos | Contexto | Comprueba si ocurrieron demasiados eventos en poco tiempo. |
| Variable guardada | Estado y variables | Comprueba el valor de cualquier variable que haya guardado esta u otra automatización. |
| Tiempo de espera de esta automatización | Estado y variables | Comprueba si esta automatización se ejecutó por última vez dentro de un periodo dado. |
| Expresión personalizada | Contexto | Escribe una expresión directamente para lo que no cubren las demás condiciones. |
Acciones
Las acciones se ejecutan en orden, de arriba abajo, cuando se cumplen las condiciones. La mayoría actúan directamente en Discord, como enviar mensajes, aplicar roles o sancionar a miembros. El grupo Control de flujo permite que una automatización se bifurque, repita, espere, se detenga antes de tiempo o llame a otra automatización.
| Acción | Categoría | Hace… |
|---|---|---|
| Enviar mensaje | Mensajes | Envía un mensaje a un canal, por MD, a un hilo o como respuesta, opcionalmente con identidad de webhook. |
| Editar / eliminar mensaje | Mensajes | Edita, elimina, fija, desfija o publica (crosspost) un mensaje concreto, indicado por su enlace. Usa {tokens} en el enlace para actuar sobre el mensaje que activó la automatización. |
| Purgar mensajes | Mensajes | Elimina mensajes en masa en un canal, con filtro opcional. |
| Añadir / quitar reacción | Mensajes | Añade, quita o vacía reacciones en el mensaje que activó la automatización. |
| Crear hilo | Canales | Abre un hilo o una publicación de foro. |
| Sancionar miembro | Moderación | Advierte, aísla, expulsa, banea, aplica softban, baneo temporal o silencia al objetivo. |
| Retirar sanción | Moderación | Quita una advertencia, un aislamiento, un baneo o un silencio. |
| Registrar caso de moderación | Moderación | Crea un caso con un tipo de caso real y un motivo, o añade una nota a un caso existente por su número. |
| Añadir rol | Miembros | Da un rol al objetivo, opcionalmente durante un tiempo limitado. |
| Quitar rol | Miembros | Quita un rol al objetivo. |
| Modificar miembro | Miembros | Cambia el apodo, desconecta, mueve o silencia en el servidor al objetivo en voz. |
| Modificar canal | Canales | Bloquea, desbloquea, define el modo lento, cambia el tema o edita los permisos. |
| Definir variable | Estado y variables | Define, aumenta, disminuye, añade al final o vacía una variable guardada. |
| Esperar | Control de flujo | Pausa la cadena durante un tiempo fijo antes de continuar. |
| Rama (si / si no) | Control de flujo | Divide en un grupo de condiciones anidado con sus propios pasos. |
| Bucle | Control de flujo | Repite un número limitado de pasos anidados. |
| Detener | Control de flujo | Impide que se ejecute el resto de la cadena, opcionalmente solo si se cumple una condición. |
| Llamar automatización | Control de flujo | Invoca otra automatización como subrutina, opcionalmente esperando a que termine. |
| Solicitud HTTP | Integraciones | Llama a cualquier URL externa. La respuesta JSON se convierte en variables. |
| Añadir XP | Miembros | Da XP al objetivo mediante el plugin Niveles, si está activado en este servidor. |
| Responder a la interacción | Mensajes | Actualiza el mensaje pulsado, responde (opcionalmente solo visible para el usuario), abre un formulario o confirma en silencio. |
| Generar imagen | Mensajes | Genera una de tus plantillas de imagen para esta ejecución y úsala como {images.name} en un mensaje posterior. |
| Leer valor de miembro / clasificación | Estado y variables | Lee el valor por usuario de otro miembro, su posición o una lista de los mejores en un token. |
Variables guardadas
Las variables son valores con nombre (textos, números, booleanos, listas o JSON) compartidos en todo el servidor y conservados entre ejecuciones y automatizaciones. Usa la acción Definir variable para crear, incrementar, decrementar, añadir a una lista o vaciar una, y léela con una condición Variable guardada o con un token {variable_name} en cualquier otra parte. Si le das un TTL a una variable, se restablece automáticamente cuando pasa ese tiempo.
Lenguaje de expresiones
La condición Expresión personalizada cubre todo lo que las demás condiciones no pueden expresar. Es un lenguaje de expresiones JSON pequeño y seguro que nunca ejecuta código. Cada expresión tiene la forma {"op": [arg, ...]} y se puede anidar.
Lenguaje de fórmulas
Las fórmulas calculan valores como el total de una mano, una carta al azar, un porcentaje de progreso o una lista de botones. Se parecen a expresiones de Python, el bot las evalúa de forma segura (nunca se ejecutan como código) y tienen un límite de tamaño y de trabajo, así que una fórmula no puede bloquear nada.
Seguridad y límites
Cada automatización se ejecuta dentro de unos márgenes de seguridad fijos que no se pueden desactivar, así que un flujo mal configurado nunca puede tumbar tu servidor ni ejecutarse para siempre:
| Sin autodisparo | Las acciones nunca pueden volver a activar el propio disparador de esta automatización. |
| Separación mínima entre ejecuciones | Incluso sin un tiempo de espera abajo, una ejecución se omite si la anterior fue hace menos de 1 s. Es una protección contra disparadores saturados, no un sustituto de un tiempo de espera real. |
| Límite de la cadena de acciones | Una ejecución realiza como máximo 20 acciones. |
| Tiempo máximo de ejecución | Una ejecución se detiene automáticamente tras 15000 ms. |
| Límite de iteraciones del bucle | Un bucle puede repetirse como máximo 50 veces. |
| Límite de profundidad de llamadas | Las automatizaciones pueden anidarse hasta 3 niveles como máximo. |
Cada automatización también tiene su propio tiempo de espera entre ejecuciones y puede desactivarse sola tras un número de fallos seguidos, para que una integración rota no siga fallando sin que nadie se entere.
Pruebas y registros
La pestaña Pruebas y registros simula una automatización con un evento de ejemplo que tú proporcionas y muestra cada paso de disparador, condición, control y acción, incluida una forma de simular un fallo a mitad, sin tocar tu servidor. Ejecuciones recientes guarda un historial de ejecuciones reales con su resultado y duración.
Límites
| Límite | Free | Premium |
|---|---|---|
| Automatizaciones | 5 | 100 |
| Condiciones por automatización | 5 | 20 |
| Acciones por automatización | 5 | 20 |
| Variables | 10 | 300 |
Las automatizaciones se pueden organizar en hasta 20 grupos en ambos planes.