Автоматическая амнистия страйков: бот раз в месяц снимает все баны — и наблюдает

У меня четыре публичных WhatsApp-чата по аренде вилл на Бали плюс несколько Telegram-групп. Суммарно — несколько тысяч участников и постоянный поток новых людей. Управлять всем этим вручную невозможно физически. Поэтому всё, что можно автоматизировать — автоматизировано: модерация, выдача страйков, баны, напоминания правил. Автоматизация управления сообществом — это не роскошь при таком масштабе, это необходимость.

Но у любой автоматической системы наказаний есть системная проблема, которую я обнаружил не сразу: бан без даты истечения — это бан навсегда. Человек получил страйк или бан за нарушение, которое, возможно, было случайным, единичным или вообще попало под неправильно настроенный фильтр. И сидит в чёрном списке год, два — просто потому что никто вручную не пересматривает список забаненных.

В мае я запустил систему автоматической амнистии. Первого числа каждого месяца бот сам сбрасывает все накопленные страйки и снимает все баны — в Telegram и WhatsApp. Без участия человека, без ручного разбора случаев. Через 11 дней первая амнистия: в очереди стоят 492 разбана.

Это история о том, почему автоматическое прощение работает лучше ручного ревью — и как это устроено технически.

Проблема ручного управления наказаниями в масштабе

Когда у тебя один чат — управление банами ещё терпимо. Ты знаешь людей, помнишь контекст, можешь решить вручную кого разбанить и когда. Когда чатов несколько и суммарно тысячи участников — ручной подход ломается по трём причинам.

Первая: контекст теряется. Страйк был поставлен три месяца назад за конкретное нарушение. Сейчас этого контекста нет — ты не помнишь, было ли это систематическое поведение или единичный случай. Ты видишь строчку в таблице: «забанен, причина: флуд». И не знаешь что с этим делать — разбанить или нет.

Вторая: никто не делает ревью списка забаненных. В любой системе с накапливающимися банами есть тенденция: список растёт, но не уменьшается. Раз в полгода кто-то может сделать чистку — но чаще этот список просто копится. Люди, забаненные за спам три года назад, сидят там же, где забаненные вчера.

Третья: неизбежны ошибки автоматики. Автоматические системы модерации ошибаются. Паттерн срабатывает не по тому человеку, фильтр слишком агрессивен, контекст не считан правильно. Такие случаи должны иметь механизм исправления — и не только в виде жалобы в поддержку, которую никто не читает.

Амнистия решает все три проблемы разом: сбрасывает устаревший контекст, регулярно очищает список и автоматически исправляет ошибки фильтров без ручного разбора.

Логика «сам себя забанит обратно»

Самый частый вопрос про эту систему: «А что если амнистия разбанит реального нарушителя?»

Ответ: реальный нарушитель — тот, кто нарушает систематически — сам забанит себя обратно. В первые же 24 часа. Потому что паттерн поведения у него не изменился: он придёт в чат и сделает то же самое, за что был забанен.

Нарушитель-рецидивист накапливает новые страйки быстро. Если система настроена правильно — он получит новый бан в течение нескольких часов после разбана. И тогда его следующий срок начинается с чистого листа, но с уже понятным паттерном в логах: вернулся и сразу же нарушил. Это основание для более жёсткого, документально обоснованного бана.

А вот человек, который случайно попал под фильтр полгода назад — обычно ведёт себя нормально. Он либо вообще забыл про чат и не вернётся, либо вернётся и не нарушит. В обоих случаях его разбан ничего не ломает.

Эта логика переворачивает привычную установку. В стандартной системе администратор решает кого простить — и тратит время на ревью каждого кейса. В системе с амнистией система прощает сама, а решение о повторном бане принимается на основе нового поведения, а не старого. Это честнее и дешевле по ресурсам.

Вместо ревью 492 кейсов — наблюдение за примерно 20–30 рецидивистами, которые сами себя проявят. Экономия в 15–20 раз.

Почему вечный бан — плохая политика

Есть ещё один аргумент в пользу амнистии, который меньше связан с технической эффективностью и больше — с логикой сообщества.

Случайные нарушители против системных

В публичных чатах по тематической теме (аренда, продажа, профессиональное сообщество) большинство нарушений — не злой умысел, а незнание правил. Человек зашёл, увидел что все что-то продают, опубликовал своё объявление в не том месте или в не том формате. Получил бан. Ушёл с ощущением, что его несправедливо выгнали.

Эти люди — не спамеры. Это потенциальные активные участники сообщества, которые просто не разобрались с правилами в первый раз. Бессрочный бан за такой случай — это потеря аудитории, которую не так легко нарастить.

Амнистия даёт им шанс вернуться и попробовать снова. С точки зрения роста сообщества — это правильная политика.

Ресентимент и долгосрочные потери

Человек, которого бессрочно забанили за единичное нарушение, не забывает об этом. Он расскажет об этом знакомым: «не ходите в этот чат, там банят без разбора». Это репутационные потери, которые сложно измерить, но они реальны.

Амнистия убирает этот риск. Если человек знает (или понимает по опыту), что через месяц доступ будет восстановлен — его ощущение несправедливости смягчается. Это другой тональный регистр: не «меня выгнали навсегда», а «меня временно ограничили».

Как работает система амнистии: технический разбор

Расскажу как это устроено изнутри — чтобы было понятно, что нужно для запуска.

Триггер: первое число, 00:05 по серверному времени

В базе данных хранится таблица с банами: кто, когда, за что, в каком чате, текущий статус. Страйки живут в отдельной таблице с накопительным счётчиком на аккаунт и платформу.

Первого числа каждого месяца в 00:05 по серверному времени срабатывает кронджоб. Он переводит все активные баны в статус «amnestied», обнуляет счётчик страйков для всех аккаунтов, формирует список разбанов для выполнения и ставит задачи в очередь обработки.

Важно: амнистия применяется ко всем платформам одновременно — Telegram и WhatsApp. Если человек забанен в одном месте, но не в другом — он попадает в список только по той платформе, где есть активный бан.

Очередь с контролем скорости

Разбан 492 аккаунтов за один раз — это не одна большая операция, это очередь с пакетной обработкой и контролем скорости. Telegram и WhatsApp имеют ограничения на частоту запросов. Если попытаться разбанить 492 человека мгновенно — система получит ошибку превышения лимита и часть операций упадёт.

Бот обрабатывает очередь пакетами: несколько разбанов, пауза, следующая партия. Telegram позволяет работать быстрее, WhatsApp требует больших пауз между запросами. Параметры скорости прописаны в конфигурации и подобраны экспериментально — достаточно быстро чтобы завершить за ночь, достаточно медленно чтобы не попасть под блокировку.

Параллельно ведётся подробный лог: какой аккаунт разбанен, когда, успешно или с ошибкой. Если операция не удалась — попытка повторяется через час. После трёх неудачных попыток запись помечается как «failed» и попадает в итоговый отчёт отдельным блоком.

Отчёт после завершения

После обработки всей очереди бот присылает мне отчёт в Telegram. Стандартный формат: сколько разбанено успешно, сколько с ошибками, сколько аккаунтов уже неактивны к моменту амнистии (телефон удалён, аккаунт заблокирован платформой).

Последняя метрика интересная: она показывает, какой процент забаненных аккаунтов к моменту амнистии уже недостижим — то есть проблема решилась сама. Как правило, это 15–25% от общего списка. Они ушли из мессенджера, сменили номер или просто перестали им пользоваться. Амнистия для них — просто уборка в базе.

Мониторинг после амнистии: наблюдение за рецидивистами

Амнистия — не конец процесса, а начало наблюдения. В течение 72 часов после разбанов система отслеживает активность разбаненных аккаунтов в чатах.

Если кто-то из разбаненных получает новый страйк в первые 24 часа — это автоматически отмечается в базе как «рецидив». Эти аккаунты попадают в отдельный отчёт на третий день после амнистии: список тех, кто вернулся и немедленно нарушил.

Что делаю с этим списком: ничего специального. Система сама выдала им новые страйки по стандартным правилам. Если они достигли порога — получили новый бан. Если нет — наблюдаю дальше. Разница с обычной ситуацией только в том, что теперь у них есть второй зафиксированный кейс нарушений в логах.

Это важно для принятия решений в крайних случаях. Если через несколько амнистий видно, что один и тот же аккаунт каждый раз возвращается и нарушает — это основание для перманентного бана без права на амнистию. В базе для этого есть флаг permanent_ban, который не сбрасывается кронджобом.

Первая амнистия: что в очереди и чего ожидать

492 аккаунта — это люди, которые получили страйк или бан за всё время работы автоматической модерации. Часть из них забанены год назад, часть — три месяца назад, часть — недавно.

По данным из базы, примерная разбивка по причинам:

  • Флуд или повторяющийся спам — около 40% случаев
  • Нарушение правил о рекламе (один пост не в том месте) — около 30%
  • Оффтопик в тематическом чате — около 20%
  • Срабатывание автофильтра по ключевым словам — около 10%

Из этих категорий только «флуд / спам систематически» — надёжный индикатор рецидива. Одиночный рекламный пост или ошибка фильтра — совсем другая история. Значит, из 492 человек реальных потенциальных рецидивистов — примерно 200. Из них вернётся в чаты, вероятно, треть. И лишь часть из вернувшихся нарушит снова в первые сутки.

Итого: реальная «угроза» от амнистии — 20–40 аккаунтов, которые автоматически получат новый бан в первые 24 часа. Это управляемо и не требует ручного вмешательства.

О том, как устроена полная система модерации чатов — читайте в материале про Telegram-бот для модерации с grace window.

Почему автоматическое прощение лучше ручного ревью

Когда ты вручную решаешь кого простить — ты думаешь о каждом случае. Это хорошо по качеству решения, но плохо по масштабу: физически невозможно обработать 492 кейса ежемесячно с нормальной тщательностью. Реальный выбор в таком случае — не делать ревью вообще или делать его наспех, по наитию.

Автоматическая амнистия переключает логику. Вместо того чтобы думать кого простить — система прощает всех, а потом смотрит кто сам себя исключит. Это не наивный гуманизм, это рациональная экономия ресурса: вместо ревью 492 кейсов — внимание только к тем, кто забанит себя снова (20–40 человек).

Это принцип, который работает во многих системах: не пытаться предсказать плохое поведение заранее, а дать возможность проявить себя и реагировать на факты. Дешевле, точнее и масштабируется без ограничений.

Для масштабирующегося бизнеса — это принципиально важно. У меня нет модератора, который делал бы ревью банов каждый месяц. Система делает это сама — и делает это консистентно, без субъективности, без усталости и без забывчивости.

Как применить это в своём бизнесе

Если у вас есть Telegram-сообщество или WhatsApp-чаты для бизнеса с автоматической модерацией — вот как оценить, нужна ли вам амнистия.

Когда это имеет смысл

Три условия, при которых система амнистии даёт реальный эффект: у вас есть автоматическая система выдачи банов и страйков; баны накапливаются без механизма истечения срока; у вас нет ресурса на ручной ревью списка забаненных хотя бы раз в квартал.

Если баны у вас выдаются только вручную и всегда с контекстом — амнистия не нужна. Ручной бан уже предполагает что кто-то подумал над этим конкретным случаем. Если же автоматика работает и список копится — пора автоматизировать и прощение.

Что нужно для запуска

Минимальный набор: таблица в базе данных с банами и датами (поле banned_at обязательно), кронджоб на первое число месяца, скрипт обработки очереди с учётом rate limits платформы, простой отчёт в мессенджер.

Дополнительно стоит добавить флаг permanent_ban для случаев, которые должны быть исключены из амнистии. Это редко нужно — но для крайних случаев с documented рецидивистами полезно.

Время на реализацию базовой версии — несколько часов. Сложность не в логике, а в корректной работе с API платформ: Telegram и WhatsApp имеют разные ограничения и разное поведение при ошибках.

Что важно настроить правильно с самого начала

Главное — вести подробный лог причин бана с первого дня. Амнистия работает хорошо, когда ты можешь после неё посмотреть: кто вернулся и нарушил, и за что он был забанен изначально. Это обратная связь, которая позволяет улучшать правила модерации: если паттерн часто срабатывает неправильно — видно сразу.

Если логов нет — амнистия всё равно работает. Просто ты не узнаешь ничего нового о качестве своей системы модерации из её результатов.

О том, как выстроить полную систему управления сообществом через ботов — читайте в материале про систему из 13 ботов и неделю автоматизации.

Что не стоит делать

Несколько ошибок, которых стоит избежать при внедрении системы амнистии.

Уведомлять разбаненных о факте амнистии. Кажется, что это вежливо — сообщить человеку что его разбанили. На практике это привлекает внимание к существованию системы амнистии. Часть людей начнёт использовать её как схему: нарушать правила с расчётом на ежемесячное прощение. Лучше работать тихо.

Запускать слишком часто. Раз в неделю или раз в две недели — слишком быстро. Система не успевает накопить наблюдения за рецидивистами, и несколько рецидивов в один цикл не дают достаточно данных. Месяц — оптимальный интервал.

Применять амнистию к перманентным банам без разбора. Если кто-то был забанен администратором вручную с пометкой «перманентный» — это сигнал что случай особый. Такие записи должны быть исключены из автоматической обработки. Для этого нужен флаг в базе, который кронджоб проверяет перед добавлением в очередь.

Не отслеживать рецидивистов после амнистии. Амнистия без мониторинга — неполный цикл. Данные о рецидивах — это ценная обратная связь о качестве правил модерации. Игнорировать её — значит упускать возможность улучшить систему.

Итоги и что дальше

Система амнистии — одна из тех автоматизаций, которые решают не очевидную техническую задачу, а скрытую организационную. Баны в чате — это не только про безопасность сообщества, это ещё про справедливость и про то, как накопленный чёрный список влияет на рост аудитории.

492 разбана через 11 дней — это люди, которые без амнистии остались бы в чёрном списке неопределённо долго. Часть из них никогда не должна была оказаться там в принципе: ошибка фильтра, одно случайное нарушение, непонимание правил. Теперь у них есть шанс вернуться. У тех, кто вернётся и нарушит — будет второй, уже задокументированный кейс. Это лучше, чем бессрочный бан за единичное нарушение без права на пересмотр.

Главный принцип, который я вынес из построения этой системы: автоматизация работает хорошо не только когда ускоряет существующий процесс, но и когда переосмысляет его логику. В случае с банами старая логика была: «забанили — забыли». Новая: «забанили — наблюдаем — амнистируем — смотрим что будет дальше».

Это один из многих примеров того, как система из ботов управляет бизнесом без участия человека в рутине — подробнее об архитектуре всей системы читайте в материале про штаб из 18 агентов на Бали. Или напишите в Telegram, если хотите разобрать как выстроить управление сообществом через автоматизацию под вашу задачу.

Частые вопросы

Что если амнистия разбанит реального спамера?
Реальный нарушитель вернётся и забанит себя снова в первые же 24 часа. Паттерн поведения не изменился — он получит новые страйки быстро. Зато теперь у него будет второй задокументированный кейс нарушений, что даёт основание для более жёсткого и обоснованного бана.
Как часто нужно запускать амнистию?
Оптимально — раз в месяц. Чаще — система не успевает накопить наблюдения за рецидивистами. Реже — список банов разрастается до размеров, которые сложно обработать технически и которые содержат слишком много случайных нарушителей давней давности.
Нужно ли уведомлять разбаненных участников?
Не обязательно, и зачастую лучше не уведомлять. Уведомление привлекает внимание к факту системы амнистии, что может стимулировать злоупотребление: некоторые будут намеренно нарушать правила в расчёте на ежемесячное прощение. Лучше работать тихо.
Подходит ли это для чатов с активными продажами?
Да, и особенно хорошо. В тематических продажных чатах много людей, которые нарушили правила рекламы один раз — опубликовали не в том месте или не в том формате. Они не спамеры, просто не читали правила. Амнистия даёт им шанс вернуться и стать активными участниками.

Читайте также

Подписаться на блог в Telegram

Читайте свежие кейсы об AI-автоматизации, системной архитектуре и масштабировании бизнеса.

Подписаться