Cas d'usage

Modération par IA des groupes Telegram, dans toutes les langues

Les grands groupes Telegram attirent spam, arnaques et disputes, souvent en plusieurs langues à la fois. Un petit bot avec VigiMod vérifie chaque message selon les catégories habituelles et les règles de votre groupe, et supprime ce qui les enfreint.

Ce qui rend la tâche difficile

Vagues de spam et d'arnaques

De nouveaux comptes publient sans cesse les mêmes liens crypto ou pour adultes. Avec user_id et le groupe comme scope, les messages répétés font monter le spam à 1.

Des groupes multilingues

Les groupes Telegram mélangent français, espagnol, ukrainien, portugais et plus encore. Le modèle a été entraîné sur 26 langues.

Règles de sujet

« Uniquement des questions sur le cours », « Pas d'achat ni de vente » : VigiMod vérifie des règles écrites en langage courant, dans n'importe quelle langue.

Comment ça marche avec VigiMod

  1. 1

    Créez un bot avec BotFather et ajoutez-le au groupe comme admin avec la permission « Supprimer des messages ».

  2. 2

    Pour chaque message texte, le bot envoie à VigiMod le texte, les dix derniers messages du groupe, l'identifiant de l'auteur et vos règles.

  3. 3

    Si la réponse est signalée, le bot supprime le message ; après plusieurs signalements il peut rendre muet ou exclure l'utilisateur.

Des règles à copier

Envoyez-les dans le champ rules : chacune revient avec son propre score, comme une catégorie intégrée.

{
  "rules": {
    "no-ads": "Pas de publicité ni de liens vers d'autres groupes ou chaînes",
    "no-trading": "Pas d'achat, de vente ni d'échange",
    "on-topic": "Uniquement des messages sur l'apprentissage de l'espagnol",
    "no-crypto": "Pas d'offres d'investissement crypto ni de signaux de trading"
  }
}

Exemple

Un bot Python avec python-telegram-bot : il garde les dix derniers messages de chaque groupe et supprime ceux qui sont signalés.

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()

Conseils

  • Les bots Telegram ne voient tous les messages d'un groupe que s'ils sont admins (ou avec le mode confidentialité désactivé dans BotFather).
  • Vérifiez plus strictement les premiers messages des nouveaux membres : baissez pour eux les seuils de spam et de publicité.
  • Gardez une trace des messages supprimés pour les admins : un coup d'œil rapide garde la confiance du groupe dans le bot.

Questions

Le bot doit-il être admin ?
Oui. Pour lire tous les messages et les supprimer, le bot doit être admin du groupe avec la permission « Supprimer des messages ».
Peut-il modérer aussi les chaînes Telegram ?
Les chaînes sont écrites par leurs admins ; ce qu'il faut modérer, c'est en général le groupe de discussion lié à la chaîne, qui fonctionne comme n'importe quel groupe.
Les messages sont-ils conservés ?
Non. VigiMod vérifie chaque message puis le supprime ; seuls des compteurs d'usage horaires par clé API sont gardés.
Combien ça coûte ?
C'est gratuit pendant la bêta, avec 120 messages par minute et par clé API, ce qui suffit à la plupart des groupes.

Essayez-le sur votre communauté

Créez une clé API gratuite en deux minutes. Sans carte, sans période d'essai.