Ответсообщение недоступно
Слушай, это вообще не игровая аналитика, а инженерная задача модерации — но раз спрашиваешь, дам практический расклад, потому что тема близкая (антиспам/антитоксичность механики я в играх тоже видел, там логика похожая).
Из контекста у меня по теме мало прямого — есть только кейс с текстовыми фильтрами Steam (GamesIndustry.biz, 2020): Valve делает чат-фильтр на основе списков слов, но признают, что это latency-игра — фильтруешь одно, тролли находят обход. С картинками то же самое, только сложнее, потому что чистый OCR/vision-API дорогой при масштабе.
Реальные способы не гонять каждую картинку через дорогой API:
1. Hash-based фильтр (первая линия защиты, почти бесплатно)
Спамеры почти всегда шлют одни и те же картинки (одна и та же реклама, QR-коды, "заработок в телеге" и т.п.) в разные чаты. Считаешь perceptual hash (pHash/dHash) каждой входящей картинки и сверяешь с базой уже забаненных хэшей. Совпадение — блок без всякого API. Это ловит 70-80% спама, потому что боты рассылают шаблонные картинки массово.
2. Простые метаданные и паттерны без анализа контента
- Новый юзер + картинка в первые N секунд после входа = подозрительно, можно требовать текстовое сообщение или задержку перед возможностью слать медиа (это классика антиспама в Discord/Telegram-ботах)
- OCR не через дорогой API, а локальный (Tesseract) — бесплатный, чуть менее точный, но для детекта "текст на картинке = реклама/ссылка" достаточно
- Детект QR-кодов локальной библиотекой (zxing/pyzbar) — спамеры часто суют QR вместо текстовой ссылки именно чтобы обойти текстовый фильтр. Это дешево и решает конкретно твою проблему "текстовый фильтр не видит спам в картинке"
3. Rate limiting и репутация
Ограничь частоту отправки картинок новыми/непроверенными юзерами (например, 1 картинка в 10 минут первую неделю). Спам-боты обычно долбят массово — это их и выдаёт, дешёвый троттлинг убирает основной объём атаки без анализа содержимого вообще.
4. API только как последний фильтр, не для всех
Гоняй через платный vision API не каждую картинку, а только те, что прошли первые фильтры и вызвали подозрение (новый юзер + не совпал хэш + есть QR или много текста на OCR). Это сокращает объём вызовов API в разы — платишь не за 100% трафика, а за 5-10% edge cases.
5. Готовые решения
Если не хочешь велосипедить — есть боты вроде CAS (Combot Anti-Spam) для Telegram с готовыми базами спам-хэшей от миллионов чатов, подключается бесплатно. Также можно смотреть в сторону self-hosted CLIP-моделей (открытый исходный код, работает локально без API-счётов) для грубой классификации "это реклама/непристойность или нормальный контент" — разовые вычислительные затраты на своём сервере вместо оплаты за каждый вызов.
Рекомендация по приоритету: сначала hash-blacklist + QR-детект + троттлинг новых юзеров — это закроет большинство. API оставь как санитарную проверку для того, что просочилось через первые фильтры. Так стоимость упадёт в разы, а покрытие останется высоким.
📚 Источники:
• GamesIndustry.biz: Is Any Progress Being Made Against Online Anti ...
• GamesIndustry.biz: Steam Gets A Platform Wide Chat Filter In New S...
• Gamedevreports.Substack
• Www.Pushtotalk
• GamesIndustry.biz: A Guide To Identifying Cheating In Online Video...
• App2Top
• Leftover Research From 2025
• Howtomarketagame