
Como configurar um filtro de palavras em um grupo do Telegram
O bot apaga as mensagens com certas palavras. Veja como montar uma regra dessas com várias palavras, acrescentar sinônimos e exceções e testá-la antes.
Mais cedo ou mais tarde, todo chat vivo começa a repetir a mesma coisa: «me chama no privado», «vendo conta», anúncios de troca de cripto. Limpar isso na mão é cansativo, e manter um moderador acordado o tempo todo não faz sentido — quem dá conta desse tipo de publicidade e de spam é um filtro de palavras: o bot apaga sozinho as mensagens em que as palavras procuradas apareceram.
No Scarabeus esse filtro se chama moderação de frases. Diferentemente das regras de IA, aqui não há adivinhação: ou a regra encontrou as palavras na mensagem, ou não. Por isso as frases funcionam bem onde as formulações são previsíveis e o erro sai caro.
O construtor tem a cara de um conjunto de fragmentos ligados entre si. Abaixo está o que cada ligação significa, como elas se combinam e por que a mesma regra às vezes se comporta de um jeito diferente do esperado. Todos os veredictos «pega» e «deixa passar» foram medidos no mesmo mecanismo que roda dentro do bot.
Onde ficam as palavras proibidas de um grupo do Telegram#
Seção Moderação → cartão «Moderação de frases». No próprio cartão fica a chave que liga e desliga o bloco inteiro, e o botão «Configurar» abre os conjuntos de regras.

O resumo do cartão mostra de cara quantos conjuntos e regras estão ligados e em quantos conjuntos ainda faltam sanções.
As regras vivem dentro de conjuntos. Um conjunto é um lote temático: «Cripto», «Publicidade de canais», «Palavrões». A divisão não é cosmética: a cadeia de sanções pertence ao conjunto, então publicidade e ofensas podem ser punidas de formas diferentes sem misturar seus contadores de violações.
Como montar a primeira regra#
Dentro de um conjunto, clique em «Adicionar regra». Uma regra é montada com fragmentos de dois tipos:
- frase — as palavras específicas que serão procuradas na mensagem;
- número — qualquer sequência de dígitos, exibida como «qualquer número».
Entre fragmentos vizinhos há sempre uma ligação: OU ou E. O botão «Adicionar fragmento» acrescenta o próximo pedaço, e «Agrupar» junta fragmentos vizinhos em um grupo.

No alto do editor fica sempre uma prévia — ela mostra como a regra vai ser lida de verdade.
Vamos pegar como exemplo o conjunto «Cripto»: num chat sobre jogos de tabuleiro não há lugar para anúncios de câmbio. A regra funcional mais simples é uma única frase:
Ela pega os anúncios diretos e deixa passar tudo o que foi formulado de outro jeito. É daí em diante que o construtor faz falta.
E — as duas partes precisam estar na mensagem#
A ligação E significa que os dois fragmentos precisam aparecer no texto. Ao lado da ligação surge o campo «Até n caracteres»: a distância máxima entre eles.
- Pega: “swap usdt at a good rate”.
- Pega: “usdt for swap” — sem ordem estrita, tanto faz qual palavra vem primeiro.
- Deixa passar: “swap stickers happens every friday at our board game club, and questions about usdt belong in another chat” — entre as palavras há mais de 40 caracteres.
OU — basta qualquer uma das partes#
A ligação OU dispara se pelo menos uma das partes vizinhas for encontrada:
- Pega: “buying a couch” — o OU não exige nada além de uma das palavras, por isso uma regra assim é bem ampla.
- Deixa passar: “trading cards”.
Uma sutileza importante: o OU liga com mais força que o E. Esta regra aqui:
lê-se como «swap ou p2p — e usdt por perto», e não como «ou swap, ou p2p perto de usdt». Escrita de forma explícita, a mesma ligação fica assim:
- Deixa passar: “swap stickers” — a palavra “swap” sozinha não pega nada, ela também precisa de um “usdt” por perto.
- Pega: “p2p usdt” e “swap usdt”.
Se você precisa de outro agrupamento, selecione as partes com o botão «Agrupar»: aí a correspondência é procurada primeiro dentro do grupo, e só o resultado dele é ligado aos demais fragmentos. Uma regra pode ter vários grupos, mas um grupo dentro de outro grupo não é permitido.
Número — quaisquer dígitos#
O fragmento «qualquer número» entra no lugar de qualquer sequência de dígitos: valores, quantidades, números. Ele serve onde as palavras são previsíveis, mas os dígitos não:
- Pega: “selling for 500”, “giving away 2 pieces”.
- Deixa passar: “selling advice” — não há dígitos aí.
«Até n caracteres»: duas armadilhas#
A primeira: 0 significa «sem limite», e não «coladas». Esse é o erro mais comum. Com 0, basta que os fragmentos se encontrem em algum lugar da mensagem — pode ser na primeira linha e na última.
A segunda: a distância é contada sobre um texto do qual os espaços já foram retirados.
- Pega: “notcrypto”, “not crypto” e “not crypto” — os espaços somem antes da verificação, então nos três casos a distância é zero.
Por isso o limite cobre bem mais do que parece a olho nu: 40 caracteres sem espaços dão umas seis ou sete palavras.
Ordem estrita#
Por padrão a ligação E não olha a ordem — como no exemplo “usdt for swap” lá em cima. A caixa «Ordem estrita» exige que as partes apareçam no texto da esquerda para a direita, exatamente como estão dispostas no formulário. No esquema, a ordem estrita é marcada com um ponto de exclamação:
- Pega: “buying usdt”.
- Deixa passar: “usdt buying”.
A ordem estrita pode ser ligada para a regra inteira ou só para um grupo.
Exceções#
A caixa «Exceção» transforma um fragmento numa condição que cancela o disparo. A exceção continua sendo uma parte comum da cadeia — com a sua própria ligação, como todas as outras — e só se diferencia pela cor. O que exatamente ela cancela depende do nível.
Uma exceção no nível de cima cancela a regra inteira. Primeiro a parte principal é verificada e, se ela bateu mas em algum ponto da mensagem apareceu a exceção, a regra não dispara. Um exemplo é o conjunto «Publicidade de canais», em que os anúncios da própria casa não devem entrar na conta:
- Pega: “subscribe to the channel”.
- Cancelado pela exceção: “subscribe to our channel”.
- Cancelado pela exceção: “our channel: subscribe to the channel” — não importa em que ponto da mensagem a exceção apareceu.
Se as variantes «da casa» forem várias, a exceção é colocada sobre o grupo inteiro — aí qualquer uma delas cancela o disparo:
- Cancelado pela exceção: “subscribe to the official channel”.
- Pega: “subscribe to the channel”.
Uma exceção dentro de um grupo apaga só esse grupo, enquanto os demais ramos do OU continuam funcionando fora dele. Como isso fica na prática está na seção sobre combinações, logo abaixo.
Em cada nível é permitida uma exceção; exceções aninhadas são proibidas.
Combinações: como as partes trabalham juntas#
As ligações isoladas são claras; as surpresas começam quando você as combina. E são justamente as combinações que servem para varrer publicidade e spam sem encostar nas conversas normais. Abaixo estão as principais combinações e como a regra reage a elas.
Um grupo com E dentro de um OU#
Um grupo pode ser ele mesmo uma ligação E — aí ele inteiro vira um dos ramos do OU:
- Pega: “buying usdt” — o grupo disparou.
- Pega: “any p2p here?” — disparou o segundo ramo, o grupo nem foi preciso.
- Deixa passar: “buying a couch” — no grupo faltou “usdt”, e “p2p” não aparece.
Uma cadeia de três partes#
As ligações E podem vir em sequência, cada uma com a sua distância. A regra só dispara se todas as partes forem encontradas:
- Pega: “selling telegram account”.
- Deixa passar: “selling an account” — falta uma parte.
Dois grupos ligados por E#
Os grupos podem ser vários — por exemplo, sinônimos dos dois lados:
- Pega: “p2p btc”, “swap usdt” — qualquer palavra do primeiro grupo perto de qualquer uma do segundo.
- Deixa passar: “swap stamps”.
Ordem estrita sem limite de distância#
Ordem estrita e distância são independentes. Com o zero a ordem importa, o intervalo não:
- Pega: “swap stickers, and at the very end about usdt”.
- Deixa passar: “usdt first, swap later”.
Ordem estrita só dentro do grupo#
Dá para exigir a ordem de um único grupo sem amarrar o resto da regra:
- Pega: “buying usdt”.
- Deixa passar: “usdt buying” — dentro do grupo a ordem foi quebrada.
- Pega: “usdt buying via p2p” — o grupo não disparou, mas o ramo “p2p” disparou.
O número primeiro#
O número pode ficar em qualquer ponto da cadeia. Junto com a ordem estrita, isso permite pegar «valor, depois moeda» sem encostar na ordem inversa:
- Pega: “500 usdt”.
- Deixa passar: “usdt 500”.
Uma exceção dentro de um grupo#
O caso mais sutil: a exceção apaga só o grupo dela, e o ramo vizinho do OU vive a sua própria vida:
- Pega: “swap usdt” — o grupo disparou, não há exceção.
- Cancelado pela exceção: “swap stickers” — o grupo foi apagado e não há outros ramos na mensagem.
- Pega: “swap stickers and p2p” — o grupo foi apagado, mas o ramo “p2p” disparou sozinho.
Ordem estrita e exceção#
A exceção não participa da ordem: a ordem estrita confere as partes principais, e a exceção é procurada pela mensagem inteira:
- Pega: “buying usdt”.
- Cancelado pela exceção: “buying from you usdt”.
Por que a regra não dispara como você esperava: o que acontece com o texto antes da verificação#
Esta é a seção-chave: metade das surpresas se explica exatamente aqui. Tanto a regra quanto a mensagem são reduzidas a uma mesma forma, e só então comparadas:
- o texto vai para minúsculas — as maiúsculas nunca importam;
- os emojis são removidos;
- a pontuação e os símbolos são trocados por um espaço;
- a troca de letras é reconhecida: nas palavras em que alfabetos se misturam, ou letras se misturam com dígitos, os caracteres estranhos voltam ao lugar — “go0ds” é lido como “goods”, e “cаnal” com um «а» cirílico, como “canal”. Uma sequência de dígitos não é tocada, então “100” continua “100” — e “g00ds”, com dois zeros seguidos, também não é transformado;
- todos os espaços são removidos.
Daí saem três consequências que vale a pena guardar:
- A busca é por subcadeia, não existem limites de palavra. A frase
bané encontrada em “banana” e “urban”. Frases curtas quase sempre precisam ser precisadas com uma ligação E ou trocadas por outras mais longas. - Espaços e sinais dentro da frase não atrapalham. A regra
spamdispara em “s p a m” e “s.p.a.m”. - Uma frase feita só de emojis ou de pontuação nunca vai disparar — depois da normalização não sobra nada dela.
Teste a regra antes de ela entrar em ação#
No fim do editor há o cartão «Verificar regra». Cole no campo «Texto para verificar» uma mensagem de verdade e clique em «Verificar».
É verificado o rascunho que está aberto no formulário agora — não é preciso salvar a regra. Isso não provoca sanções e não entra no registro. A resposta vem de três formas:
- «O texto não passa pela moderação» — a regra teria disparado;
- «O texto passa pela moderação» — não disparou; abaixo está listado o que exatamente faltou: «Não encontrado no texto: …»;
- «O texto passa pela moderação» com a exceção destacada — a regra disparou, mas a exceção a cancelou.
O destaque mostra o texto já normalizado: sem espaços, sem emojis e sem pontuação. Parece estranho, mas dá para ver na hora o que o bot compara de verdade.

A verificação não salva nada e não pune ninguém — ela só mostra se a regra teria disparado nesse texto.
Por que a regra não apaga mensagens: as sanções ficam no conjunto#
A cadeia de punições é definida somente no conjunto: «depois de N violações, um aviso; depois da seguinte, um silenciamento», e assim por diante. Nem a regra isolada nem o bloco inteiro têm cadeia própria — o conjunto é justamente a unidade à qual se atribui a severidade. Por isso vale distribuir as regras entre conjuntos: «Cripto», «Publicidade de canais» e «Palavrões» são punidos de formas diferentes.

As regras do conjunto aparecem em lista, e no rodapé do cartão está a cadeia de punições dele.
Se no conjunto não houver sanções configuradas, as regras dele não disparam de jeito nenhum — e no registro não aparece uma linha sequer. O conjunto parece pronto, mas não age. Quando uma regra «não pega», é isso que se deve conferir primeiro.
A caixa «Contador próprio de violações» no editor de regras serve quando uma regra não deve puxar as outras junto: os disparos dela são contados à parte e não mexem no contador comum do conjunto. O outro lado da moeda: ao desmarcar a caixa, o contador acumulado dessa regra é apagado e a escalada recomeça do zero.
O que é verificado e quando#
- São verificados o texto da mensagem e a legenda das mídias. Mensagens sem texto não encostam nas camadas de texto.
- Mensagens editadas são verificadas de novo — corrigir não salva.
- Administradores do chat e participantes da lista de permissões são pulados antes de todas as verificações: nem disparos, nem contadores.
- As camadas vêm em sequência: comprimento → duplicatas → frases → expressões regulares → links. A primeira camada que disparar encerra a verificação, então uma mensagem pega pelo comprimento ou pelas duplicatas nem chega às frases.
- Se várias regras de frases dispararam, conta a primeira na ordem — é dela que vêm o conjunto e, portanto, a cadeia de punições.
No registro de moderação o disparo aparece como «Frases: nome do conjunto»; é ali também que se vê qual regra bateu e em que degrau de escalada o participante parou.
Limites dos planos#
No plano Limitado funcionam ao mesmo tempo no máximo dez regras de frases: a chave no cartão do conjunto escolhe quais delas ficam ativas. A quantidade de conjuntos em si não tem limite. No Base não há limites de frases, e lá também estão disponíveis as expressões regulares e configurações separadas para os tópicos do fórum. O que entra em cada plano está na página de preços.
Perguntas frequentes#
Em que as regras de frases diferem das palavras proibidas comuns?
Uma palavra proibida é proibida por si só. Uma regra de frases sabe exigir várias palavras juntas, aceitar sinônimos via OU, levar a ordem em conta e ficar calada se uma exceção apareceu na mensagem. Por isso ela encosta bem menos nas conversas normais.
Como bloquear palavrões em um chat do Telegram?
Crie um conjunto separado — «Linguagem chula», por exemplo —, reúna nele regras com as variantes de escrita ligadas por OU e atribua ao conjunto uma cadeia de punições. Enquanto o conjunto não tiver sanções, as regras dele não disparam.
Por que minha regra não apaga nada?
Na maioria das vezes, o conjunto está sem cadeia de punições configurada. Outras causas: o bloco «Moderação de frases» está desligado; a mensagem foi pega por uma camada anterior — comprimento ou duplicatas; o autor é administrador do chat ou está na lista de permissões; no plano Limitado a regra não entrou nas dez ativas.
Palavras com espaços e letras trocadas são pegas?
Sim. Antes da verificação, espaços, emojis e pontuação são retirados do texto, e dígitos ou letras de outro alfabeto enfiados dentro de uma palavra voltam ao lugar. Por isso “s p a m”, “s.p.a.m” e “spam” são a mesma coisa para a regra.
Legendas de fotos e mensagens editadas são verificadas?
Sim. As regras olham o texto da mensagem e a legenda das mídias, e uma mensagem editada é verificada de novo — corrigi-la não a salva.
Checklist rápido#
- O conjunto tem uma cadeia de punições atribuída — senão as regras ficam caladas.
- O valor «Até n caracteres» não é 0, se você quis dizer «lado a lado».
- Se a ordem das palavras importa, «Ordem estrita» está ligada.
- Frases curtas como
banestão precisadas com uma ligação E, para não pegar “banana”. - A regra foi testada com uma mensagem real no cartão «Verificar regra».
- Os anúncios da própria casa estão numa exceção.
Outros guias sobre moderação de grupos do Telegram estão no journal do Scarabeus.
Leia a seguir
Guias5 min de leituraComo moderar um fórum do Telegram tópico a tópico
Como dar a cada tópico as suas regras, por que um tópico só pode ser mais rígido que o fórum e o que há de especial no «Geral».
Guias5 min de leituraComo explicar ao bot com suas palavras o que ele deve apagar
As regras de IA se escrevem em linguagem comum. Como formulá-las, o que o modelo sabe de uma mensagem e como testar uma regra no simulador.
Guias4 min de leituraPor que o bot apagou a mensagem e como contestar
Como o membro descobre o motivo com /why, como apresenta uma apelação e como o administrador resolve reclamações sem vasculhar o histórico do chat.