Назад в блог

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

Выберите между стоп-словами, текстовым антиспамом, ссылками и пересылками. Настройте удаление отдельно от наказания и проверьте ограничения автоматической ИИ-проверки.

В один чат приносят одинаковое предложение заработка. В другой рекламодатель каждый раз меняет текст, но ведёт людей в тот же канал. В третьем проблема возникает из-за пересылок с партнёрскими объявлениями. Кнопка «удалять рекламу» скрыла бы три разные задачи, для которых нужны разные правила.

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

Сначала определите, какую рекламу вы удаляете

В соседском чате «продам детский велосипед» может быть разрешённым объявлением, а в учебной группе та же публикация нарушит правила. Ссылка на магазин бывает рекламой, ответом на вопрос или доказательством в обсуждении возврата. Если команда не договорилась о границе, бот не сделает её понятнее.

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

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

С какого фильтра начать разбор повторяющейся рекламы
Что повторяетсяПодходящий инструментЧто проверить на обычных сообщениях
Одна характерная рекламная формулировкаСтоп-словаЦитаты, жалобы и похожие разрешённые фразы
Разные тексты с признаками рекламного спама«Антиспам» → «Текст»

Вакансии, продажи и профессиональные обсуждения, разрешённые в группе

Один сайт, канал или тип приглашений«Антиспам» → «Ссылки»Официальные ресурсы, упоминания участников и поддомены
Перепубликации из посторонних источников«Антиспам» → «Пересылки»

Пересылки из разрешённых источников и сообщения со скрытым автором

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

Стоп-слова: ловите шаблон, а не всю тему разговора

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

В пользовательском режиме стоп-слов можно составить условие "доход без опыта" && "пишите в личку": обе фразы должны присутствовать в одном сообщении. Это всё ещё буквальное условие. Предупреждение «Остерегайтесь сообщений “доход без опыта, пишите в личку”» тоже ему соответствует. Кавычки и намерение автора не превращают цитату в автоматическое исключение.

В Defendy есть точный, частичный и пользовательский поиск. Метод общий для группы; последствия задаются отдельно для списков. Короткие фрагменты в частичном режиме легко находят лишнее, а пользовательский синтаксис не является произвольным regex. Перед большой загрузкой словаря прочитайте разбор стоп-слов и испытайте небольшой понятный набор.

Текстовый антиспам: строгость не является процентом точности

Откройте «Антиспам» → «Текст». Здесь есть уровни «Мягкий», «Стандартный» и «Строгий» и настройки действия. Удаление остаётся отдельным сохранённым параметром; у текущего экрана «Текст» нет отдельного переключателя удаления. Текущая реализация использует встроенные текстовые шаблоны и локальную модель классификации.

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

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

Как в действительности подключается ИИ

Переключатель «ИИ-проверка спама» находится внутри текстового антиспама. Это автоматическая дополнительная проверка подходящих сообщений; отдельная проверка по команде /spam имеет другой сценарий и настройки.

Для автоматической проверки одновременно важны несколько условий:

  • включён текстовый антиспам и его ИИ-проверка;
  • ИИ-сервис настроен и доступен на стороне сервиса;
  • сообщение попало в неопределённую зону локальной модели: оценка от 0,10 включительно до 0,80 не включительно;
  • в тексте не меньше 10 символов;
  • участник не признан доверенным и подходит под действующее ограничение по новичкам.

В текущем интерфейсе переключатель «Только новые участники» недоступен для изменения. Для «Периода новичка» предлагаются 3, 7, 14 или 30 дней. Это ограничение видимой формы; не рассчитывайте включить проверку всех участников этим неактивным переключателем. Период отсчитывается от первого сохранённого наблюдения Defendy для этой проверки, а не от даты вступления в Telegram-группу. Давний участник без такой записи тоже может попасть на проверку.

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

Если ИИ недоступен, ответ некорректен или проверка не подходит участнику, решение возвращается к локальному порогу строгости. В этой зоне пороги составляют 0,65 для мягкого, 0,55 для стандартного и 0,45 для строгого режима. Это внутренние оценки модели, а не измеренная доля правильных решений. Сбой ИИ не означает, что все сообщения автоматически сохранятся или попадут в очередь ручного рассмотрения.

Ссылки: отдельно внешний сайт и отдельно Telegram

В разделе «Ссылки» сначала проверьте, включён ли сам фильтр. Для внешних и Telegram-ссылок режим выбирается отдельно:

  • «Не трогать»: соответствующая категория не блокируется этим режимом;
  • «Чёрный список»: основание для срабатывания дают записи запрещённого списка;
  • «Удалять»: срабатывают ссылки вне белого списка, с учётом остальных исключений и специальных типов.

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

Не переносите белый список в голове на весь антиспам. Разрешённый домен не делает любой текст с этим доменом безопасным для стоп-слов или текстовой проверки. В текущей обработке списков домены сравниваются точно без учёта регистра: example.com не означает автоматическое разрешение help.example.com.

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

Не стройте политику «людей можно упоминать, каналы нельзя» на переключателе разрешения упоминаний: в текущей форме он помечен как будущая возможность и отключён. Проверьте настоящие упоминания участников отдельно, прежде чем массово ограничивать Telegram-ссылки.

Пересылки: источник и формат требуют отдельной проверки

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

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

Обратите внимание на «Разрешить первое сообщение» и разрешение пересылки собственных сообщений там, где оно доступно. Такие исключения меняют границу запрета. Переключатель фильтрации медиа также может менять охват; проверяйте текстовые и медийные пересылки отдельно. Для разбора одного рекламного канала не обязательно запрещать все пересылки от всех пользователей.

Запускайте удаление отдельно от наказаний

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

Для первого опыта используйте тестовую группу и действие «Нет». Если задача именно в проверке удаления, проверьте его сохранённое состояние и отправляйте подготовленные сообщения. В разделах с переключателем удаления можно изменить его отдельно; экраны «Текст» и «Ссылки» не дают такого управления. Перед варнами проверьте систему предупреждений: баллы могут накопиться и вызвать уже настроенное ограничение. Не добавляйте предупреждения «для наблюдения», забыв о пороге.

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

Минимальный набор испытаний перед рабочей группой

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

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

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

Что делать при ошибке или пропущенной рекламе

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

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

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

Материал сверён 5 октября 2026 года с текущим кодом и интерфейсом Defendy. Наличие автоматической ИИ-проверки в реализации не подтверждает её включение в конкретной группе или доступность провайдера в конкретный момент.