Automações
Crie fluxos personalizados de gatilhos, condições e ações que reagem a quase tudo no seu servidor, além de duas formas de se conectar ao mundo externo.
Como funciona
Toda automação tem três partes: exatamente um gatilho que a inicia, condições opcionais que precisam passar antes e uma lista ordenada de ações que rodam depois. As automações podem ler dados do gatilho, como a mensagem enviada ou o membro que entrou, e reutilizá-los em condições e ações com tokens {variable}, igual aos comandos personalizados e às respostas automáticas.
Crie automações com IA
Em vez de usar o editor, você pode deixar um assistente de IA montar a automação para você. Baixe o guia abaixo: um único arquivo Markdown que explica ao assistente cada gatilho, condição, ação, variável e limite, incluindo o formato de importação. Funciona com ChatGPT, Claude, Gemini e qualquer outro assistente que leia um arquivo de texto.
- Baixe o guia e anexe a uma nova conversa com o seu assistente de IA. Se ele não aceitar anexos ou recusar arquivos .md, renomeie o arquivo para .txt ou cole o conteúdo no chat.
- Descreva o que você quer com palavras simples, por exemplo "postar em um canal quando entrar uma conta com menos de uma semana". O assistente responde com um resumo, as variáveis que precisam ser criadas antes, um bloco de JSON e uma checklist.
- No painel, abra Automações → Importar, cole o JSON e importe. Depois escolha os canais e cargos (eles nunca vêm junto), rode uma vez em Testes e logs e ative.
Gatilhos
Toda automação tem exatamente um gatilho: o evento que a inicia. Você pode escolher entre quase tudo o que o AutoMod observa, além de um webhook de entrada e de ser chamada por outra automação.
| Gatilho | Categoria | Começa quando… |
|---|---|---|
| Mensagem enviada | Mensagens | Um membro envia uma mensagem, opcionalmente em canais específicos. Use condições para detectar links, convites, anexos, palavras-chave e mais. |
| Mensagem editada / excluída | Mensagens | Uma mensagem é editada, excluída ou excluída em massa. |
| Reação adicionada / removida | Mensagens | Uma reação é adicionada, removida ou limpa de uma mensagem. |
| Membro entrou | Membros | Um membro entra no servidor ou passa na triagem de membros. |
| Membro saiu | Membros | Um membro sai, é expulso ou é banido. |
| Membro atualizado | Membros | O apelido, o avatar, o nome de usuário ou o castigo de um membro muda. |
| Cargo adicionado / removido | Membros | Um cargo é adicionado ou removido de um membro. |
| Servidor impulsionado | Membros | Um membro começa ou para de impulsionar o servidor. |
| Estado de voz alterado | Voz | Um membro entra, sai, muda de canal, se silencia ou transmite na voz. |
| Ação de moderação aplicada | Moderação | Uma advertência, silenciamento, expulsão, banimento ou caso é criado. O membro punido é o usuário que dispara. |
| Limite de moderação atingido | Moderação | O número de advertências ou casos de um membro chega a um valor definido. |
| Filtro acionado | Moderação | O filtro de palavras, convites, spam, golpes, raids ou o AutoMod nativo pega algo. |
| Agendamento disparado | Integrações | Um agendamento cron, um intervalo, uma data única, um aniversário ou um aniversário de entrada é atingido. |
| Webhook de entrada | Integrações | Um serviço externo envia uma requisição HTTP para a URL única desta automação. |
| Chamada por outra automação | Controle de fluxo | Esta automação só roda quando é chamada pela ação "Chamar automação" de outra automação. |
| Membro subiu de nível | Membros | O XP de um membro chega a um novo nível pelo plugin Níveis, não importa como esse XP foi ganho. |
| Assinatura alterada | Membros | Algo acontece com uma assinatura paga do plugin Monetização: compra, renovação, cancelamento, pagamento com falha, fim, reembolso, presente ou gorjeta. |
| Botão, menu ou formulário usado | Mensagens | Um botão, menu de seleção ou formulário enviado por outra automação é usado. O componente escolhe esta automação como destino. |
| Comando de barra usado | Mensagens | Um membro usa o comando de barra próprio desta automação, com as opções que você definir. |
| Evento de live | Integrações | Algo acontece no seu canal conectado da Twitch ou da Kick, como um novo seguidor, uma inscrição, uma raid ou a live começando. |
Webhooks de entrada
O gatilho Webhook de entrada dá a uma automação sua própria URL. Envie um HTTP POST de qualquer serviço externo (um serviço de formulários, um provedor de pagamentos, o seu próprio backend) e a automação roda com o corpo, os cabeçalhos e a origem da solicitação disponíveis como variáveis {http.*} em cada condição e ação.
Limites de taxa, nos dois sentidos
O endpoint público do webhook tem limite de taxa por URL e por IP de origem antes de qualquer outra coisa, incluindo consultas, verificação de assinatura e leitura do corpo. Uma enxurrada contra uma URL, ou uma varredura por várias URLs adivinhadas, não consegue deixar o resto do app lento. Além disso, toda automação tem um intervalo mínimo integrado de 1 s entre execuções, mesmo sem tempo de espera configurado, então um gatilho movimentado nunca roda sem limite.
Segurança também na saída
A ação Solicitação HTTP segue o mesmo padrão ao contrário: só URLs https:// são permitidas, o IP de destino é resolvido e verificado de novo a cada redirecionamento, e endereços de loopback, privados, link-local e de metadados da nuvem são recusados. Uma automação nunca pode ser usada para alcançar a infraestrutura interna.
Condições
As condições decidem se as ações de uma automação rodam ou não. Adicione quantas precisar e escolha se todas devem corresponder (E) ou só uma (OU). Sem nenhuma, as ações sempre rodam quando o gatilho dispara.
| Condição | Categoria | Verifica… |
|---|---|---|
| Tem cargos | Membros | Verifica se o usuário tem algum, todos ou nenhum dos cargos selecionados. |
| Identidade do usuário | Membros | Verifica se o usuário é um usuário comum, um bot, um webhook ou tem o avatar padrão. |
| Idade da conta / tempo como membro | Membros | Verifica a idade da conta do usuário ou há quanto tempo ele é membro. |
| Tem permissão | Membros | Verifica se o usuário tem uma permissão específica do Discord. |
| Hierarquia de cargos | Membros | Compara o cargo mais alto do moderador com o cargo mais alto do alvo (para gatilhos de ação de moderação). |
| Contador do usuário | Membros | Verifica as advertências, casos, nível ou XP de um usuário. |
| Estado do usuário | Membros | Verifica se o usuário está impulsionando, de castigo, silenciado ou em um canal de voz. |
| Conteúdo da mensagem | Mensagens | Compara o texto da mensagem com um valor, um padrão ou uma lista de palavras. |
| Formato da mensagem | Mensagens | Verifica o tamanho, a proporção de maiúsculas, o número de emojis, os caracteres repetidos ou texto zalgo. |
| A mensagem contém | Mensagens | Verifica se a mensagem contém um link, um convite, um anexo, um embed ou menções suficientes. |
| Semelhança de mensagens | Mensagens | Compara a mensagem com as últimas mensagens do usuário para detectar spam repetido. |
| No canal | Canais | Verifica se isso aconteceu em um canal, uma categoria ou um tópico específicos. |
| Janela de horário | Contexto | Verifica o dia da semana e a hora do dia, no fuso horário do seu servidor. |
| Estado do servidor | Contexto | Verifica o número de membros, o nível de impulso, um recurso do servidor ou o modo raid. |
| Rajada de eventos | Contexto | Verifica se eventos demais aconteceram em pouco tempo. |
| Variável salva | Estado e variáveis | Verifica o valor de qualquer variável salva por esta ou por outra automação. |
| Tempo de espera desta automação | Estado e variáveis | Verifica se esta automação rodou pela última vez dentro de um período definido. |
| Expressão personalizada | Contexto | Escreva uma expressão diretamente para o que as outras condições não cobrem. |
Ações
As ações rodam em ordem, de cima para baixo, quando as condições passam. A maioria age direto no Discord, como enviar mensagens, aplicar cargos ou punir membros. O grupo Controle de fluxo permite que uma automação ramifique, repita, espere, pare antes ou chame outra automação.
| Ação | Categoria | Faz… |
|---|---|---|
| Enviar mensagem | Mensagens | Envia uma mensagem para um canal, por DM, em um tópico ou como resposta, opcionalmente com identidade de webhook. |
| Editar / excluir mensagem | Mensagens | Edita, exclui, fixa, desafixa ou publica (crosspost) uma mensagem específica, indicada pelo link. Use {tokens} no link para agir na mensagem que disparou a automação. |
| Limpar mensagens | Mensagens | Exclui mensagens em massa em um canal, com filtro opcional. |
| Adicionar / remover reação | Mensagens | Adiciona, remove ou limpa reações na mensagem que disparou a automação. |
| Criar tópico | Canais | Cria um tópico ou uma postagem de fórum. |
| Punir membro | Moderação | Adverte, castiga, expulsa, bane, aplica softban, banimento temporário ou silencia o alvo. |
| Revogar punição | Moderação | Remove uma advertência, um castigo, um banimento ou um silenciamento. |
| Registrar caso de moderação | Moderação | Cria um caso com um tipo de caso real e um motivo, ou adiciona uma nota a um caso existente pelo número. |
| Adicionar cargo | Membros | Dá um cargo ao alvo, opcionalmente por um tempo limitado. |
| Remover cargo | Membros | Tira um cargo do alvo. |
| Modificar membro | Membros | Define um apelido, desconecta, move ou silencia no servidor o alvo na voz. |
| Modificar canal | Canais | Tranca, destranca, define o modo lento, muda o tema ou edita as permissões. |
| Definir variável | Estado e variáveis | Define, aumenta, diminui, adiciona ao fim ou limpa uma variável salva. |
| Esperar | Controle de fluxo | Pausa a cadeia por um tempo fixo antes de continuar. |
| Ramificação (se / senão) | Controle de fluxo | Divide em um grupo de condições aninhado com etapas próprias. |
| Loop | Controle de fluxo | Repete um número limitado de etapas aninhadas. |
| Parar | Controle de fluxo | Impede que o resto da cadeia rode, opcionalmente só se uma condição for atendida. |
| Chamar automação | Controle de fluxo | Chama outra automação como sub-rotina, opcionalmente esperando ela terminar. |
| Requisição HTTP | Integrações | Chama qualquer URL externa. A resposta JSON vira variáveis. |
| Adicionar XP | Membros | Dá XP ao alvo pelo plugin Níveis, se ele estiver ativado neste servidor. |
| Responder à interação | Mensagens | Atualiza a mensagem clicada, responde (opcionalmente só visível para o usuário), abre um formulário ou confirma em silêncio. |
| Gerar imagem | Mensagens | Gera um dos seus modelos de imagem para esta execução e usa como {images.name} em uma mensagem posterior. |
| Ler valor de membro / ranking | Estado e variáveis | Lê o valor por usuário de outro membro, a posição dele ou uma lista dos melhores em um token. |
Variáveis armazenadas
Variáveis são valores com nome (textos, números, booleanos, listas ou JSON) compartilhados no servidor inteiro e mantidos entre execuções e automações. Use a ação Definir variável para criar, incrementar, decrementar, adicionar a uma lista ou limpar uma, e leia com uma condição Variável armazenada ou com um token {variable_name} em qualquer outro lugar. Dê um TTL a uma variável e ela é zerada automaticamente quando esse tempo passa.
Linguagem de expressões
A condição Expressão personalizada cobre tudo o que as outras condições não conseguem expressar. É uma linguagem de expressões JSON pequena e segura que nunca executa código. Toda expressão tem o formato {"op": [arg, ...]} e pode ser aninhada.
Linguagem de fórmulas
As fórmulas calculam valores como o total de uma mão, uma carta aleatória, uma porcentagem de progresso ou uma lista de botões. Elas parecem expressões em Python, são avaliadas com segurança pelo bot (nunca executadas como código) e têm limite de tamanho e de trabalho, então uma fórmula não consegue travar nada.
Segurança e limites
Toda automação roda dentro de um envelope de segurança fixo que não pode ser desligado, então um fluxo mal configurado nunca consegue derrubar seu servidor nem rodar para sempre:
| Sem autodisparo | As ações nunca podem disparar de novo o próprio gatilho desta automação. |
| Intervalo mínimo entre execuções | Mesmo sem um tempo de espera abaixo, uma execução é ignorada se a anterior foi há menos de 1 s. É uma proteção contra gatilhos em excesso, não substitui um tempo de espera de verdade. |
| Limite da cadeia de ações | Uma execução realiza no máximo 20 ações. |
| Tempo limite de execução | Uma execução para automaticamente após 15000 ms. |
| Limite de iterações do loop | Um loop pode se repetir no máximo 50 vezes. |
| Limite de profundidade de chamadas | As automações podem se aninhar em no máximo 3 níveis. |
Cada automação também tem seu próprio tempo de espera entre execuções e pode se desativar sozinha depois de um número de falhas seguidas, para que uma integração quebrada não continue falhando em silêncio.
Testes e logs
A aba Testes e logs faz uma simulação da automação com um evento de exemplo fornecido por você e mostra cada etapa de gatilho, condição, controle e ação, incluindo um jeito de simular uma falha no meio, sem mexer no seu servidor. Execuções recentes guarda um histórico das execuções reais com resultado e duração.
Limites
| Limite | Free | Premium |
|---|---|---|
| Automações | 5 | 100 |
| Condições por automação | 5 | 20 |
| Ações por automação | 5 | 20 |
| Variáveis | 10 | 300 |
As automações podem ser organizadas em até 20 grupos em qualquer plano.