Caso de uso
Moderação com IA do chat de jogos, em todos os idiomas dos seus jogadores
Os jogos online juntam no mesmo lobby jogadores de muitos países, e a provocação pode virar assédio em segundos. A VigiMod verifica cada mensagem no seu servidor de jogo, lendo as anteriores, em 26 idiomas, com regras escritas para o seu jogo.
O que torna difícil
Provocação ou assédio?
«GG, fácil demais» depois de uma partida é normal; o mesmo jogador a atacar alguém pelo que é, não. O contexto e as categorias separadas fazem a diferença.
Lobbies globais
Uma partida pode misturar espanhol, português, alemão e italiano. O modelo foi treinado em 26 idiomas.
Regras do seu jogo
Vender batotas, trocar contas ou dar spoilers da nova temporada são regras do seu jogo, não categorias genéricas.
Como funciona com a VigiMod
- 1
O seu servidor de jogo recebe a mensagem e guarda as últimas mensagens da sala ou partida.
- 2
Envia-as à VigiMod com o id do jogador, a sala como scope e as suas regras.
- 3
Se a mensagem for assinalada, não é difundida; o servidor pode avisar, silenciar ou denunciar o jogador.
Regras para copiar
Envie-as no campo rules: cada uma volta com a sua própria pontuação, como uma categoria integrada.
{
"rules": {
"no-cheats": "Sem vender ou partilhar batotas, hacks ou exploits",
"no-trading": "Sem trocar contas ou itens por dinheiro real",
"no-spoilers": "Sem spoilers da história da nova temporada",
"no-boosting": "Sem ofertas de boosting ou venda de ranks"
}
}Exemplo
Um servidor de chat em Node.js com WebSockets: cada mensagem é verificada antes de ser enviada aos outros jogadores.
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 }));
});
});Dicas
- Verifique as mensagens no seu servidor, nunca no cliente do jogo: a chave API não pode ir dentro do jogo.
- Use limiares mais altos para toxic nos modos competitivos e mais baixos nos modos familiares: os limiares mudam por pedido.
- Se a verificação falhar ou demorar, deixe passar a mensagem e registe-a, para o chat não parar.
Perguntas
- Posso chamar a VigiMod diretamente do Unity ou do Unreal?
- Não ponha a chave API na build do jogo: chame a VigiMod a partir do seu servidor ou backend, que depois decide o que difundir.
- Modera o chat de voz?
- Não, só texto. Se transcrever a voz para texto, pode verificar a transcrição como qualquer mensagem.
- É rápida?
- Uma chamada HTTP por mensagem. Dê-lhe um timeout curto e deixe passar a mensagem se demorar; o endpoint batch verifica até 20 mensagens numa chamada.
- Serve para jogos com crianças?
- Adicione a categoria opcional child_safety (beta), que assinala tentativas de aliciar um menor, e envie essas marcações a uma pessoa da sua equipa.
Continue a aprender
Todos os guias- Básico · 5 min de leituraPorque é que o contexto importa na moderação de chatsA mesma frase pode ser inofensiva ou nociva conforme o que veio antes. Como o contexto da conversa muda a moderação, com exemplos reais.
- Intermédio · 7 min de leituraPrecisão, recall e F1 explicados com exemplos de moderaçãoA exatidão esconde o problema. O que medem a precisão, o recall e o F1, como calculá-los em 30 segundos e qual importa para a tua comunidade.
- Básico · 5 min de leituraUma pessoa no processo: como a IA e os moderadores trabalham melhor juntosA moderação automática é rápida, as pessoas percebem as nuances. Como dividir o trabalho, que ações automatizar e quais deixar a uma pessoa.
Experimente na sua comunidade
Crie uma chave API gratuita em dois minutos. Sem cartão, sem período de teste.