Moderação do Chat
Resumo
Operacionaliza a moderação do chat em tempo real. Chat já cita “moderação automatizada” em alto nível e Filtro de Linguagem cobre detecção de profanidade especificamente — esta nota fecha o que falta: tipos de violação reconhecidos, escala de severidade, ações automáticas e manuais, e limites técnicos (rate limit, caracteres). A regra é: o sistema age primeiro com ações reversíveis e baratas (aviso, mute curto na partida) e gera reports automáticos que alimentam Sanções — onde a punição de longo prazo se acumula.
Esta nota registra as decisões do card Definir política de moderação do chat (2026-05-12).
Posição no sistema
| Sistema | Papel |
|---|---|
| Chat | Define onde e quando o chat existe (público/privado, por fase). |
| Filtro de Linguagem | Detecta profanidade em qualquer texto livre, censura com asteriscos, e dispara auto-report para termos graves. |
| Moderação do Chat (esta nota) | Cataloga violações, severidade, ações imediatas e limites técnicos. Em runtime durante a partida. |
| Denúncias | Registro de reports (manuais e automáticos). |
| Sanções | Escalonamento de penalidades de longo prazo a partir dos reports acumulados. |
A separação importa: esta nota define o comportamento imediato quando uma violação acontece; a punição cumulativa entre partidas vive em Sanções.
Tipos de violação
Quatro categorias reconhecidas pelo sistema no V1:
| Tipo | Definição operacional |
|---|---|
| Spam | Flood de mensagens, repetição abusiva, conteúdo nonsense em volume. Detectado principalmente pela violação do Rate limit. |
| Ofensa | Discurso ofensivo, assédio, conteúdo de ódio. Detecção automatizada apoiada por Filtro de Linguagem e por report manual. |
| Antijogo | Sabotagem deliberada via chat: spoiler de informação, jogo contra o time, manipulação para perder propositalmente. Detecção primariamente manual (report de outros jogadores). |
| Links | URLs externas no chat. Bloqueadas automaticamente — o Conduta não tem caso de uso legítimo para links durante a partida. |
Revelação indevida de role foi listada no card como possível tipo separado, mas não foi adotada como categoria no V1. Casos de revelação que prejudicam o time caem em Antijogo; casos de revelação que são parte legítima de leitura social (blefe, autorrevelação estratégica) não são violação. Revisar se reportes manuais nessa zona cinzenta forem frequentes.
Severidade
Toda violação carrega um nível de severidade que determina a ação:
| Nível | Característica |
|---|---|
| Leve | Primeira ocorrência, contexto ambíguo, baixo dano social. |
| Médio | Repetição, contexto claro de violação, dano social localizado. |
| Grave | Conduta ostensivamente nociva, conteúdo ofensivo claro, dano social amplo. |
| Gravíssimo | Discurso de ódio, slurs, antijogo claro e premeditado. |
A correspondência tipo × severidade não é fixa — uma ofensa pode ser Leve ou Gravíssima conforme o conteúdo. A graduação fica a cargo do filtro automático (no caso de profanidade) ou da equipe de moderação (no caso de report manual).
Ações automáticas
O sistema age em tempo real para violações detectadas automaticamente. A ação escala com severidade:
| Severidade | Ação automática |
|---|---|
| Leve | Aviso automático ao jogador (mensagem de sistema visível só para ele). |
| Médio | Mute temporário automático dentro da partida atual + report automático. |
| Grave | Mute temporário mais longo + report automático com peso maior. Comportamento exato pendente. |
| Gravíssimo | Caminho direto para report grave e escalonamento via Sanções — pode disparar ações mais fortes (kick em casos extremos), comportamento pendente. |
Detalhamento operacional
- Ofensa detectada (via Filtro de Linguagem ou outra heurística automatizada) gera report automático + aviso automático ao autor. Em reincidência, o sistema aplica mute temporário automático.
- Reports acumulados alimentam o contador de Sanções — quando passa do threshold, o ban entra automaticamente conforme a escala de Sanções (cooldown de chat, ban de 7 dias, ban permanente).
- Spam (violação do rate limit) gera aviso na primeira ocorrência e mute temporário em reincidência rápida.
- Links são bloqueados antes de chegar aos outros jogadores — a mensagem com link nunca aparece. Em reincidência, escala como Ofensa.
Diferença entre o mute temporário automático aqui e o cooldown de chat em Sanções: o mute automático age dentro da partida atual (silencia o jogador por segundos/minutos); o cooldown de Sanções age em partidas futuras baseado em reports acumulados. Os dois sistemas coexistem e podem se sobrepor.
Durações exatas do mute temporário por severidade e por reincidência ficam pendentes.
Ações manuais
Ações manuais ficam reservadas para casos que o automatizado não pega de forma confiável:
- Report manual de humanos — qualquer jogador pode reportar via Denúncias. Reports manuais carregam peso maior que automáticos quando classificados como severos pela equipe de moderação. Política de peso exato pendente.
- Kick — ferramenta da equipe de moderação para remover o jogador da partida em curso em casos graves. Não disponível para jogadores comuns. Substituição da vaga segue Quórum (bot).
Rate limit e limites de mensagem
Os limites técnicos abaixo definem o que conta como Spam pelo critério automático:
| Limite | Valor |
|---|---|
| Tamanho máximo da mensagem | 140 caracteres |
| Cooldown entre mensagens | 1 segundo |
| Janela de volume | 15 mensagens a cada 30 segundos |
- Mensagens acima de 140 caracteres são truncadas ou rejeitadas (comportamento exato pendente).
- Mensagem enviada antes do cooldown de 1s é rejeitada com aviso de “muito rápido”.
- Ultrapassar 15 msgs em 30s dispara classificação automática como Spam, com aviso/mute conforme a severidade.
Esses limites valem para o chat público e privado, em todas as fases em que o chat estiver habilitado (Chat).
Política por fase
A questão “chat mais restrito na Noite?” do card já está resolvida em Chat: chat público fica completamente desativado durante a noite. Não há regra de moderação específica por fase além disso — quando o chat está ativo, as regras desta nota valem integralmente; quando está desativado, não há o que moderar.
Pendências (a definir em rodadas futuras)
- Mapa formal severidade × tipo × ação — tabela explícita de “qual durou de mute para spam médio”, etc.
- Durações exatas do mute temporário por nível de severidade e por reincidência.
- Peso de report manual vs. automático na contagem de Sanções.
- Política para gravíssimo: kick automático? Report imediato com peso múltiplo? Decisão pendente.
- Comportamento de mensagem >140 caracteres: truncar ou rejeitar?
- Detecção de Antijogo via chat — quanto fica em manual vs. heurística automatizada (palavras-chave, padrões).
- Casos de revelação indevida de role: monitorar reports nessa zona cinza e revisar se vira categoria separada.
- Reports automáticos disparados em sequência: anti-loop e proteção contra falso positivo em cascata.
- Comportamento em chat privado aberto por habilidade: as mesmas regras valem integralmente? Há ajustes pelo contexto ser 1-on-1?
- Tabela de ações para moderação humana (kick, ban manual via dashboard) — depende da ferramenta de admin descrita como pendência em Sanções e Denúncias.