Cómo moderar el chat de un juego en tiempo real
Llama a la API cuando un jugador envía un mensaje y actúa según una de tres respuestas antes de que llegue a los demás: mostrarlo, retenerlo o rechazarlo. Las comprobaciones gratuitas resuelven una línea corta de chat en torno a un milisegundo, que es casi todo lo que se escribe en una partida, así que moderar no añade una espera que se note. En los canales con más tráfico, deja fuera el modelo con effort: low; en el resto, el valor por defecto solo le pasa lo que ellas dejan en duda, y lo decides en cada llamada. Lo que llega como review espera en una cola, en tu panel o por la API, y un webhook firmado avisa a tu juego cuando alguien decide.
Pique o acoso: dónde está la línea
El chat de un juego está lleno de palabras que parecen violentas y no lo son. "Nos han destrozado", "la próxima ronda os mato a todos" y "gg" son parte del juego. ToxicFilter actúa sobre el insulto que apunta a quien lee, como harassment ("eres idiota" no es "este mapa es una mierda"), sobre una amenaza reconocida, como violence ("sé dónde vives", "te voy a encontrar"), y sobre los ataques a colectivos, como hate. Una palabrota suelta se puntúa como toxicity, que nunca bloquea. La plantilla de comunidad la retiene para que alguien la mire; en el chat de un juego conviene subir ese umbral, para que un "qué jugada, joder" no espere a nadie.
Insultos camuflados: por qué no basta con una lista de palabras
Los jugadores escriben put0, 1d10ta, una letra griega en lugar de una latina o un espacio invisible en mitad de una palabra. ToxicFilter lo convierte todo otra vez en letras normales antes de buscar, e informa de cuánto del mensaje iba camuflado como un hallazgo propio, en evasion. Una lista de palabras permitidas las tapa antes de que nada las busque, así que una palabra inocente que contiene otra fea no cae nunca. Los insultos de odio no vienen en las listas públicas; cargas la tuya.
Acoso en grupo en el chat de partida
El acoso en grupo no se ve en ningún mensaje suelto. Manda el chat reciente a /v1/conversation con el identificador del jugador en cada línea, y ToxicFilter cuenta cuántos jugadores distintos están siendo hostiles con alguien en segunda persona. Un compañero furioso que escribe diez líneas es una persona; tres o más personas distintas son acoso en grupo, y el motivo dice cuántas eran. Del hilo no se guarda nada, solo el veredicto sobre la última línea.
El detector busca la forma de un acercamiento a lo largo de una conversación: secretos, irse a otra app, fotos, regalos, aislar a alguien, y la edad que dice otro participante. Que un crío diga "tengo 12 años" nunca se usa en su contra, y una edad declarada sola nunca es un hallazgo. Con un menor declarado, el acercamiento se rechaza como minor_safety y debería llegar a una persona de inmediato. Las comprobaciones instantáneas leen estas formas en ocho idiomas y, con effort: high, el modelo lee la conversación entera buscando lo que las palabras dejan al contexto.
Cómo elegir los umbrales de tu juego
Empieza por la plantilla de comunidad: rechaza antes que los umbrales por defecto el acoso, el odio, las amenazas y los acercamientos a menores. Después ajusta lo que necesiten tus jugadores, casi siempre el umbral de toxicity, y prueba el cambio como una segunda política que funciona junto a la que está activa. Se calculan los dos veredictos sobre tu propio chat, solo uno decide, y el panel te enseña en qué no coinciden antes de que cambies.