Caso d'uso

Moderazione AI per la chat di Twitch che conosce le regole del tuo canale

Una chat Twitch affollata corre più veloce di qualsiasi moderatore. VigiMod controlla ogni messaggio insieme a quelli prima, in 26 lingue, e secondo le regole del tuo canale: il tuo bot cancella quello che le viola e lascia stare le battute.

Cosa lo rende difficile

Veloce e piena di battute interne

Emote, copypasta e prese in giro tra habitué sembrano insulti fuori contesto. Leggere i messaggi precedenti evita gran parte delle segnalazioni sbagliate.

Regole che nessun filtro conosce

«Niente spoiler sul gioco», «Niente backseat», «Niente autopromozione»: ogni canale ha le sue, e le liste di parole non le riconoscono.

Spettatori da ogni paese

I canali grandi ricevono messaggi in tante lingue, e le liste di parole vanno riscritte per ognuna. VigiMod è addestrato su 26 lingue.

Come funziona con VigiMod

  1. 1

    Il tuo bot legge la chat (IRC o EventSub) e tiene gli ultimi dieci messaggi.

  2. 2

    Ogni nuovo messaggio va a VigiMod con quel contesto, l'id dell'autore e le regole del canale.

  3. 3

    Se la risposta è segnalata, il bot cancella il messaggio con l'API di Twitch, o dà un timeout all'utente dopo più segnalazioni.

Regole da copiare

Inviale nel campo rules: ognuna torna con il suo punteggio, come una categoria predefinita.

{
  "rules": {
    "no-spoilers": "Niente spoiler sul gioco in corso",
    "no-backseating": "Non dire allo streamer come giocare se non lo chiede",
    "no-self-promo": "Niente promozione del proprio canale o dei propri social",
    "italian-only": "In chat solo italiano"
  }
}

Esempio

Un bot Node.js: tmi.js legge la chat, VigiMod controlla ogni messaggio, l'API di Twitch lo cancella se segnalato (il token deve avere lo scope moderator:manage:chat_messages).

JavaScript (Node.js)

// npm install tmi.js  (Node 18+)
// tmi.js reads the chat; the Twitch API deletes a message (token scope: moderator:manage:chat_messages)
import tmi from "tmi.js";

const { VIGIMOD_KEY, TWITCH_TOKEN, TWITCH_CLIENT_ID, BROADCASTER_ID, MODERATOR_ID } = process.env;
const RULES = { "no-spoilers": "No spoilers about the game being played" };
const recent = [];                       // the last messages of the chat, sent as context

const client = new tmi.Client({ channels: ["your_channel"] });

client.on("message", async (channel, tags, text, self) => {
  if (self) return;
  const res = await fetch("https://api.vigimod.com/moderate", {
    method: "POST",
    headers: { "X-API-Key": VIGIMOD_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({
      text: text.slice(0, 2000), context: [...recent], rules: RULES,
      user_id: tags["user-id"], scope: channel,
    }),
    signal: AbortSignal.timeout(2000),
  }).catch(() => null);                  // slow or down: let the message through
  recent.push(text.slice(0, 2000));
  if (recent.length > 10) recent.shift();
  if (!res?.ok) return;

  const result = await res.json();
  if (result.flagged) {
    const q = new URLSearchParams({ broadcaster_id: BROADCASTER_ID, moderator_id: MODERATOR_ID, message_id: tags.id });
    await fetch(`https://api.twitch.tv/helix/moderation/chat?${q}`, {
      method: "DELETE",
      headers: { Authorization: `Bearer ${TWITCH_TOKEN}`, "Client-Id": TWITCH_CLIENT_ID },
    });
  }
});

client.connect();

Consigli

  • Tieni attivo AutoMod: trattiene i messaggi prima che appaiano, VigiMod aggiunge dopo le tue regole, il contesto e le altre lingue.
  • Cancella al primo segnale, ma dai il timeout solo dopo più segnalazioni dello stesso utente in poco tempo.
  • Passa user_id e il canale come scope: messaggi ripetuti e flood dello stesso utente alzano il punteggio spam.

Domande

VigiMod sostituisce AutoMod di Twitch?
No, lavora insieme. AutoMod è integrato in Twitch e trattiene i messaggi prima che si vedano; VigiMod controlla le tue regole, legge il contesto e copre 26 lingue.
È abbastanza veloce per la chat dal vivo?
Ogni messaggio è una chiamata HTTP. Dai un timeout breve (circa due secondi) e, se una chiamata fallisce o è lenta, lascia passare il messaggio così la chat non si ferma.
E i canali molto affollati?
La beta gratuita permette 120 messaggi al minuto per chiave API. Se la tua chat va più veloce, scrivi al supporto con il tuo volume e il limite si può alzare.
Posso usarlo per VOD o clip?
VigiMod controlla solo testo. Puoi controllare titoli, replay della chat e commenti, ma non il video o l'audio.

Provalo sulla tua community

Crea una chiave API gratuita in due minuti. Niente carta, niente periodo di prova.