Назад в блог

Автоматический бан в Telegram: как спроектировать безопасную эскалацию

Когда стоит связывать предупреждения с баном, чем опасны готовые пресеты и как проверить ступени, сроки и возврат ошибочно заблокированного участника.

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

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

После блокировки понадобится управлять исключениями и исправлять ошибки. Для этого есть порядок ведения списка заблокированных участников, включая пересмотр конкретного случая.

Когда автоматический бан оправдан, а когда лучше остановиться раньше

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

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

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

Перед выбором бана оцените необратимые последствия. Telegram указывает, что при бане через Bot API в супергруппе удаляются сообщения участника. Разблокировка позволяет войти заново, но не возвращает человека автоматически. Правила Telegram для бана и разблокировки.

Что на самом деле делает лестница

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

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

Условный вариант для обсуждения командой:

  • 2 балла — мут на 15 минут;
  • 4 балла — мут на 2 часа;
  • 6 баллов — бан на 1 день;
  • окно счётчика — 24 часа от первого начисления.

Это учебная схема, не встроенный пресет. При весе каждого нарушения 1 для верхней ступени нужно накопить шесть баллов. При весе 3 достаточно двух событий. Решение увеличить вес так же существенно, как решение снизить порог.

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

Готовый профиль нужно читать целиком

В Mini App откройте Настройки → Мои группы → нужная группа → Предупреждения. В разделе Режим доступны базовый вариант, готовые профили и свой набор ступеней.

Текущие готовые профили выглядят так:

ПрофильРанние ступениПоследняя ступень
Мягкий3 балла — мут на 1 час5 баллов — бан на 1 день
Умеренный2 балла — мут на 1 час; 4 — мут на 1 день6 баллов — бессрочный бан
Строгий1 балл — мут на 30 минут; 3 — мут на 1 день5 баллов — бессрочный бан

«Мягкий» здесь название конкретного набора, а не обещание отсутствия блокировок. Выбор пресета заменяет ступени и сохраняет изменение. Просматривать варианты безопаснее в тестовой группе.

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

Настройка собственного варианта без случайного бессрочного наказания

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

  1. Проверьте название группы и откройте Предупреждения.
  2. Выберите свой режим и настройте каждую строку: Порог, действие, длительность. В редакторе ступеней доступны пороги от 1 до 20.
  3. Используйте разные пороги. Если выбрать уже занятое значение, редактор сдвигает его к свободному: перечитайте получившуюся последовательность.
  4. После каждого изменения типа наказания заново выберите срок. Общий переключатель наказаний сбрасывает длительность в ноль, а для мута и бана в этой системе ноль означает бессрочность. Выбор «Нет» и бессрочное наказание — совершенно разные результаты.
  5. Настройте время сброса и дождитесь сохранения. Повторно откройте раздел, чтобы проверить фактические значения.
  6. Подключите фильтры к лестнице: выберите у них предупреждение и нужный вес. Если у фильтра оставлен прямой бан, он не будет ждать накопления варнов.

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

Испытайте переходы, а не только один успешный мут

Используйте безобидный тестовый текст, обычный согласованный аккаунт и группу без ценной переписки. Сохраните исходные настройки. Включите журнал выбранных событий и убедитесь, что контрольное событие туда действительно пришло.

Минимальная программа проверки:

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

Перед каждым самостоятельным сценарием очищайте тестовый счётчик и снимайте предыдущие ограничения. Проверку возвращения после мута проводите после его окончания либо после явного снятия; ограниченный участник не сможет отправить следующее тестовое сообщение. Для временного мута минимальный срок — 60 секунд. Поведение длинных и бессрочных ограничений требует отдельной осторожности; начните с обычного конечного срока.

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

Что делать после ошибочного бана

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

Далее проверьте четыре вещи:

  1. Кого заблокировали. Сверьте адресата по исходному сообщению или надёжному идентификатору, а не только по имени.
  2. Почему. Сопоставьте доступный контекст, запись события, текущие баллы и ступень. Одинаковый итоговый бан мог прийти от прямого действия или предупреждений.
  3. Какие баллы нужно убрать. /unwarn снимает один балл; /resetwarns убирает всю активную сумму. Ни одна из этих команд сама по себе не разблокирует человека.
  4. Восстановлен ли доступ. Используйте /unban для нужного участника, сообщите ему способ вернуться и проверьте результат. Для мута используется отдельная команда /unmute.

Не обещайте восстановить удалённые сообщения. Объясните человеку, что исправлено, и занесите решение в доступный модераторам контекст. Апелляция должна приводить к проверке причины, а не к требованию доказать невиновность по одному числу в счётчике.

Перед включением: короткий критерий готовности

Лестница готова к ограниченному запуску, когда команда понимает каждый вес и порог, тесты подтверждают ожидаемый результат, журнал доступен, а жалобу можно подать вне заблокированного чата. Если хотя бы один пункт неизвестен, оставьте более осторожную политику и устраните пробел.

Эта настройка относится к выбранной группе. Она не создаёт общий бан-лист для всех чатов, автоматический разбор жалоб или личное объяснение каждому наказанному.

Проверено 5 октября 2026 года по текущей реализации Defendy, настройкам предупреждений, командам модерации и указанной документации Telegram. Проверка реализации не подтверждает применение настроек в конкретном работающем чате.