Anwendungsfall

KI-Moderation für Telegram-Gruppen, in jeder Sprache

Große Telegram-Gruppen ziehen Spam, Betrug und Streit an, oft in mehreren Sprachen gleichzeitig. Ein kleiner Bot mit VigiMod prüft jede Nachricht auf die üblichen Kategorien und auf die Regeln deiner Gruppe und löscht, was dagegen verstößt.

Was es schwierig macht

Spam- und Betrugswellen

Neue Konten posten immer wieder dieselben Krypto- oder Erwachsenen-Links. Mit user_id und der Gruppe als scope treiben wiederholte Nachrichten den Spam-Wert auf 1.

Gruppen in vielen Sprachen

In Telegram-Gruppen mischen sich Deutsch, Spanisch, Ukrainisch, Portugiesisch und mehr. Das Modell wurde mit 26 Sprachen trainiert.

Themenregeln

„Nur Fragen zum Kurs“, „Kein Kaufen oder Verkaufen“: VigiMod prüft Regeln in normalen Worten, in jeder Sprache.

So funktioniert es mit VigiMod

  1. 1

    Erstelle einen Bot mit BotFather und füge ihn der Gruppe als Admin mit der Berechtigung „Nachrichten löschen“ hinzu.

  2. 2

    Für jede Textnachricht sendet der Bot VigiMod den Text, die letzten zehn Nachrichten der Gruppe, die ID des Autors und deine Regeln.

  3. 3

    Ist die Antwort markiert, löscht der Bot die Nachricht; nach mehreren Markierungen kann er den Nutzer stummschalten oder entfernen.

Regeln zum Kopieren

Sende sie im Feld rules: Jede kommt mit einer eigenen Bewertung zurück, wie eine eingebaute Kategorie.

{
  "rules": {
    "no-ads": "Keine Werbung und keine Links zu anderen Gruppen oder Kanälen",
    "no-trading": "Kein Kaufen, Verkaufen oder Tauschen",
    "on-topic": "Nur Nachrichten zum Spanischlernen",
    "no-crypto": "Keine Krypto-Investmentangebote oder Trading-Signale"
  }
}

Beispiel

Ein Python-Bot mit python-telegram-bot: Er behält die letzten zehn Nachrichten jeder Gruppe und löscht markierte.

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

Tipps

  • Telegram-Bots sehen alle Nachrichten einer Gruppe nur als Admin (oder mit ausgeschaltetem Privacy Mode in BotFather).
  • Prüfe die ersten Nachrichten neuer Mitglieder strenger: Senke für sie die Schwellen für Spam und Werbung.
  • Protokolliere gelöschte Nachrichten für die Admins: Ein kurzer Blick darauf stärkt das Vertrauen der Gruppe in den Bot.

Fragen

Muss der Bot Admin sein?
Ja. Um alle Nachrichten zu lesen und zu löschen, muss der Bot Admin der Gruppe mit der Berechtigung „Nachrichten löschen“ sein.
Kann er auch Telegram-Kanäle moderieren?
Kanäle schreiben ihre Admins; moderiert werden muss meist die mit dem Kanal verknüpfte Diskussionsgruppe, die wie jede Gruppe funktioniert.
Werden die Nachrichten gespeichert?
Nein. VigiMod prüft jede Nachricht und verwirft sie; gespeichert werden nur stündliche Nutzungszähler pro API-Schlüssel.
Was kostet es?
Während der Beta ist es kostenlos, mit 120 Nachrichten pro Minute und API-Schlüssel, was für die meisten Gruppen reicht.

Teste es in deiner Community

Erstelle in zwei Minuten einen kostenlosen API-Schlüssel. Keine Karte, keine Testphase.