Caso d'uso
Moderazione AI della chat di gioco, in tutte le lingue dei tuoi giocatori
I giochi online mettono nella stessa lobby giocatori di tanti paesi, e lo sfottò può diventare abuso in pochi secondi. VigiMod controlla ogni messaggio sul tuo server di gioco, leggendo quelli prima, in 26 lingue, con regole scritte per il tuo gioco.
Cosa lo rende difficile
Sfottò o abuso?
«GG, troppo facile» dopo una partita è normale; lo stesso giocatore che attacca qualcuno per quello che è, no. Contesto e categorie separate tengono la differenza.
Lobby globali
Una partita può mescolare spagnolo, portoghese, tedesco e italiano. Il modello è addestrato su 26 lingue.
Regole del tuo gioco
Vendita di cheat, scambio di account o spoiler sulla nuova stagione sono regole del tuo gioco, non categorie generiche.
Come funziona con VigiMod
- 1
Il tuo server di gioco riceve il messaggio e tiene gli ultimi messaggi della stanza o della partita.
- 2
Li invia a VigiMod con l'id del giocatore, la stanza come scope e le tue regole.
- 3
Se il messaggio è segnalato non viene trasmesso; il server può avvisare, silenziare o segnalare il giocatore.
Regole da copiare
Inviale nel campo rules: ognuna torna con il suo punteggio, come una categoria predefinita.
{
"rules": {
"no-cheats": "Niente vendita o condivisione di cheat, hack o exploit",
"no-trading": "Niente scambio di account o oggetti per soldi veri",
"no-spoilers": "Niente spoiler sulla storia della nuova stagione",
"no-boosting": "Niente offerte di boosting o vendita di rank"
}
}Esempio
Un server di chat Node.js con WebSocket: ogni messaggio viene controllato prima di arrivare agli altri giocatori.
JavaScript (Node.js)
// npm install ws (Node 18+)
// A game chat server: each message is checked before it is sent to the room
import { WebSocketServer } from "ws";
const RULES = { "no-cheats": "No selling or sharing cheats, hacks or exploits" };
const recent = []; // the last messages of the room, sent as context
const wss = new WebSocketServer({ port: 8080 });
async function moderate(text, playerId) {
const res = await fetch("https://api.vigimod.com/moderate", {
method: "POST",
headers: { "X-API-Key": process.env.VIGIMOD_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ text, context: [...recent], rules: RULES, user_id: playerId, scope: "room-1" }),
signal: AbortSignal.timeout(2000),
}).catch(() => null);
return res?.ok ? res.json() : { flagged: false }; // slow or down: let the message through
}
wss.on("connection", (socket, req) => {
const playerId = req.headers["x-player-id"] ?? "guest"; // use your own authenticated player id
socket.on("message", async (data) => {
const text = data.toString().slice(0, 2000);
const result = await moderate(text, playerId);
if (result.flagged) {
socket.send(JSON.stringify({ type: "blocked", reason: "This message breaks the chat rules." }));
return;
}
recent.push(text);
if (recent.length > 10) recent.shift();
for (const client of wss.clients) client.send(JSON.stringify({ type: "chat", playerId, text }));
});
});Consigli
- Controlla i messaggi sul tuo server, mai dal client del gioco: la chiave API non deve essere distribuita con il gioco.
- Usa soglie più alte per toxic nelle modalità competitive e più basse in quelle per famiglie: le soglie si cambiano per richiesta.
- Se il controllo fallisce o va in timeout, lascia passare il messaggio e registralo, così la chat non si ferma.
Domande
- Posso chiamare VigiMod direttamente da Unity o Unreal?
- Non mettere la chiave API nella build del gioco: chiama VigiMod dal tuo server o backend, che poi decide cosa trasmettere.
- Modera la chat vocale?
- No, solo testo. Se trascrivi la voce in testo puoi controllare la trascrizione come qualsiasi messaggio.
- Quanto è veloce?
- Una chiamata HTTP per messaggio. Dai un timeout breve e lascia passare il messaggio se è lenta; l'endpoint batch controlla fino a 20 messaggi in una chiamata.
- Va bene per giochi con bambini?
- Aggiungi la categoria child_safety su richiesta (beta), che segnala i tentativi di adescare un minore, e manda quelle segnalazioni a una persona del tuo team.
Continua a imparare
Tutte le guide- Base · 5 min di letturaPerché il contesto conta nella moderazione delle chatLa stessa frase può essere innocua o dannosa a seconda di cosa c'era prima. Come il contesto della conversazione cambia la moderazione, con esempi reali.
- Intermedio · 7 min di letturaPrecisione, recall e F1 spiegati con esempi di moderazioneL'accuratezza nasconde il problema. Cosa misurano precisione, recall e F1, come calcolarli in 30 secondi e quale conta per la tua community.
- Base · 5 min di letturaL'umano nel ciclo: come IA e moderatori lavorano meglio insiemeLa moderazione automatica è veloce, le persone capiscono le sfumature. Come dividere il lavoro, quali azioni automatizzare e quali lasciare a una persona.
Provalo sulla tua community
Crea una chiave API gratuita in due minuti. Niente carta, niente periodo di prova.