Caso de uso
Moderação com IA para o chat da Twitch que conhece as regras do seu canal
Um chat da Twitch cheio anda mais depressa do que qualquer moderador consegue ler. A VigiMod verifica cada mensagem com as anteriores, em 26 idiomas, e segundo as regras do seu canal: o seu bot apaga o que as quebra e deixa as piadas em paz.
O que torna difícil
Rápido e cheio de piadas internas
Emotes, copypastas e provocações entre habituais parecem insultos fora de contexto. Ler as mensagens anteriores evita a maioria das marcações erradas.
Regras que nenhum filtro conhece
«Sem spoilers do jogo», «Sem backseat», «Sem autopromoção»: cada canal tem as suas, e as listas de palavras não as apanham.
Espetadores de todo o lado
Os canais grandes recebem chat em muitos idiomas, e as listas de palavras têm de ser reescritas para cada um. A VigiMod foi treinada em 26 idiomas.
Como funciona com a VigiMod
- 1
O seu bot lê o chat (IRC ou EventSub) e guarda as últimas dez mensagens.
- 2
Cada nova mensagem vai para a VigiMod com esse contexto, o id do autor e as regras do canal.
- 3
Se a resposta vier assinalada, o bot apaga a mensagem com a API da Twitch, ou dá timeout ao utilizador após várias marcações.
Regras para copiar
Envie-as no campo rules: cada uma volta com a sua própria pontuação, como uma categoria integrada.
{
"rules": {
"no-spoilers": "Sem spoilers do jogo que está a ser jogado",
"no-backseating": "Não dizer ao streamer como jogar se ele não pedir",
"no-self-promo": "Sem promover o próprio canal ou redes sociais",
"portuguese-only": "No chat, só português"
}
}Exemplo
Um bot em Node.js: o tmi.js lê o chat, a VigiMod verifica cada mensagem e a API da Twitch apaga-a se for assinalada (o token precisa do 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();Dicas
- Mantenha o AutoMod ligado: retém as mensagens antes de aparecerem; a VigiMod acrescenta depois as suas regras, o contexto e outros idiomas.
- Apague à primeira marcação, mas dê timeout só após várias marcações do mesmo utilizador em pouco tempo.
- Envie user_id e o canal como scope: mensagens repetidas e flood do mesmo utilizador aumentam a pontuação de spam.
Perguntas
- A VigiMod substitui o AutoMod da Twitch?
- Não, funciona em conjunto. O AutoMod vem integrado na Twitch e retém mensagens antes de serem mostradas; a VigiMod verifica as suas regras, lê o contexto e cobre 26 idiomas.
- É rápida o suficiente para chat ao vivo?
- Cada mensagem é uma chamada HTTP. Dê-lhe um timeout curto (cerca de dois segundos) e, se uma chamada falhar ou demorar, deixe passar a mensagem para o chat continuar.
- E os canais com muito movimento?
- A beta gratuita permite 120 mensagens por minuto por chave API. Se o seu chat for mais rápido, escreva ao suporte com o seu volume e o limite pode ser aumentado.
- Posso usá-la em VODs ou clips?
- A VigiMod verifica só texto. Pode verificar títulos, repetições do chat e comentários, mas não o vídeo nem o áudio.
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 · 6 min de leituraComo escolher o limiar de moderaçãoUma pontuação de 0,7 não é uma decisão. Como funcionam os limiares, porque o valor predefinido é só um ponto de partida e como afiná-los.
- 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.