Caso de uso

Moderação com IA para grupos do Telegram, em qualquer idioma

Os grandes grupos do Telegram atraem spam, burlas e discussões, muitas vezes em vários idiomas ao mesmo tempo. Um pequeno bot com a VigiMod verifica cada mensagem nas categorias habituais e nas regras do seu grupo, e apaga o que as quebra.

O que torna difícil

Vagas de spam e burlas

Contas novas publicam sem parar os mesmos links de cripto ou para adultos. Com user_id e o grupo como scope, as mensagens repetidas levam o spam a 1.

Grupos em muitos idiomas

Nos grupos do Telegram misturam-se português, espanhol, ucraniano, italiano e mais. O modelo foi treinado em 26 idiomas.

Regras de tema

«Só perguntas sobre o curso», «Sem compra e venda»: a VigiMod verifica regras escritas em palavras simples, em qualquer idioma.

Como funciona com a VigiMod

  1. 1

    Crie um bot com o BotFather e adicione-o ao grupo como admin com a permissão «Apagar mensagens».

  2. 2

    Para cada mensagem de texto, o bot envia à VigiMod o texto, as últimas dez mensagens do grupo, o id do autor e as suas regras.

  3. 3

    Se a resposta vier assinalada, o bot apaga a mensagem; após várias marcações pode silenciar ou remover o utilizador.

Regras para copiar

Envie-as no campo rules: cada uma volta com a sua própria pontuação, como uma categoria integrada.

{
  "rules": {
    "no-ads": "Sem publicidade nem links para outros grupos ou canais",
    "no-trading": "Sem compra, venda ou troca",
    "on-topic": "Só mensagens sobre aprender espanhol",
    "no-crypto": "Sem ofertas de investimento em cripto nem sinais de trading"
  }
}

Exemplo

Um bot em Python com python-telegram-bot: guarda as últimas dez mensagens de cada grupo e apaga as assinaladas.

Python

# pip install python-telegram-bot httpx
# The bot must be an admin of the group with the "Delete messages" permission.
import os
from collections import defaultdict, deque

import httpx
from telegram import Update
from telegram.ext import Application, ContextTypes, MessageHandler, filters

RULES = {"no-ads": "No advertising or links to other groups or channels"}
history = defaultdict(lambda: deque(maxlen=10))   # last messages of each group, sent as context
vigimod = httpx.AsyncClient(base_url="https://api.vigimod.com", timeout=3,
                            headers={"X-API-Key": os.environ["VIGIMOD_KEY"]})

async def check(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    msg, chat = update.effective_message, str(update.effective_chat.id)
    text = msg.text[:2000]
    try:
        r = await vigimod.post("/moderate", json={
            "text": text, "context": list(history[chat]), "rules": RULES,
            "user_id": str(msg.from_user.id), "scope": chat,
        })
        flagged = r.is_success and r.json()["flagged"]
    except httpx.HTTPError:
        flagged = False                     # slow or down: let the message through
    history[chat].append(text)
    if flagged:
        await msg.delete()

app = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND & filters.ChatType.GROUPS, check))
app.run_polling()

Dicas

  • Os bots do Telegram só veem todas as mensagens de um grupo se forem admins (ou com o modo de privacidade desligado no BotFather).
  • Verifique com mais rigor as primeiras mensagens dos membros novos: baixe para eles os limiares de spam e publicidade.
  • Registe as mensagens apagadas para os admins as reverem: uma verificação rápida mantém a confiança do grupo no bot.

Perguntas

O bot tem de ser admin?
Sim. Para ler todas as mensagens e apagá-las, o bot tem de ser admin do grupo com a permissão «Apagar mensagens».
Pode moderar também canais do Telegram?
Os canais são escritos pelos seus admins; o que costuma precisar de moderação é o grupo de discussão ligado ao canal, que funciona como qualquer grupo.
As mensagens são guardadas?
Não. A VigiMod verifica cada mensagem e descarta-a; só se guardam contadores de uso por hora e por chave API.
Quanto custa?
É grátis durante a beta, com 120 mensagens por minuto por chave API, o suficiente para a maioria dos grupos.

Experimente na sua comunidade

Crie uma chave API gratuita em dois minutos. Sem cartão, sem período de teste.