Как ограничить ссылки в Telegram и оставить полезные источники
Выбираем режимы для сайтов и Telegram-каналов, настраиваем узкие исключения, проверяем инвайты и скрытые ссылки и исправляем ошибочные удаления в Defendy.
В районном чате нужны ссылки на расписание транспорта, объявления и инструкции. Одновременно кто-то постоянно зовёт соседей в посторонние каналы. Полный запрет URL уберёт часть рекламы, но заодно лишит нормальные ответы источников.
Разделите политику для сайтов и для Telegram. В Defendy у этих двух категорий независимые режимы: «Удалять», «Чёрный список» и «Не трогать». Исключения, инвайты и некоторые другие типы ссылок требуют отдельной проверки. Настройка «ссылки разрешены» слишком общая, чтобы описать всё их поведение.
В инвестиционном или криптосообществе разрешённый домен не отменяет проверку смысла предложения. Разберите также сценарии скама и поддельной поддержки перед составлением исключений.
Для кнопок, вложенных Rich-блоков и ссылок внутри опроса используйте матрицу современных форматов сообщений. Проверка обычной ссылки в тексте не подтверждает покрытие этих поверхностей.
Какую проблему вы решаете
Выберите исходную политику по тому, зачем люди приходят в группу.
Чат взаимопомощи. Участники регулярно приносят новые полезные источники. Разумная отправная точка — запрещать известные нежелательные сайты, сохраняя возможность делиться остальными. Это оставляет риск новых рекламных адресов, поэтому нужен модератор.
Закрытая группа проекта. Почти все необходимые ссылки ведут на сайт проекта и документацию. Можно разрешить только эти источники, если команда готова быстро добавлять обоснованные исключения.
Группа во время рекламной атаки. Временное широкое ограничение может снизить число нежелательных публикаций, но заранее определите, кто и по какому признаку вернёт обычный режим. Иначе аварийная мера станет постоянным препятствием для участников.
Запишите правило человеческим языком: какие ссылки можно публиковать, куда отправить полезный источник на согласование и как сообщить об ошибке. Настройка правил группы помогает сделать эту политику доступной участникам.
Что означают три режима
Таблица относится к обычным ссылкам на сайты и публичные Telegram-источники. Специальные проверки инвайтов и цитат разобраны ниже.
| Режим | Принцип | Когда подходит |
|---|---|---|
| «Не трогать» | Эта категория обычных ссылок не проверяется | Для категории, которой вы пока управляете вручную |
| «Чёрный список» | Нарушением считается источник из запрещённого списка | Когда полезных новых источников много |
| «Удалять» | Нарушением считается источник вне белого списка | Когда разрешённый круг источников небольшой |
Белый и чёрный списки не складываются в одно правило приоритетов. В режиме «Чёрный список» обычный источник проверяется по запрещённым записям. В режиме «Удалять» проверяется, разрешён ли он белым списком. Поэтому дублирование адреса в обоих списках не выражает ясную политику.
Название режима ещё не описывает всё последствие для участника: действие выбирается отдельно. В форме ссылок «Нет» означает отсутствие дополнительного наказания, а не обещание сохранить сообщение. Для первого теста выбирайте «Нет» и используйте только специально подготовленные сообщения в тестовой группе.
Белый список: разрешайте ровно то, что нужно
Для сайтов используйте конкретные доменные имена. В проверенной реализации список сопоставляется с выделенным именем без учёта регистра, но по точному совпадению. Запись example.com не равна docs.example.com и не равна example.net.
Если нужны основной сайт и документация, добавьте example.com и docs.example.com отдельными записями. Не считайте разрешение поддомена разрешением всего остального сайта. Путь вроде /help тоже не следует использовать как обещание разрешить только один раздел: список источников не является правилом доступа к отдельным страницам.
В форме добавления есть типы «Домен», «IP-адрес» и «Telegram». Выбирайте тип по источнику. Подсказки формы могут упоминать маски и CIDR, но для надёжной политики используйте проверенные явные значения: текущая проверка списка не даёт оснований обещать разворачивание масок или диапазонов. Особенно не заменяйте отдельные разрешённые хосты одной широкой маской без теста.
Для Telegram добавляйте нужный источник в соответствующем типе записи. Публичный адрес канала и его пригласительная ссылка — разные случаи. Запись канала в белом списке сама по себе не разрешает любые инвайты, ссылки на сообщения и переходы к ботам с параметрами.
Почему разрешение популярного сайта шире, чем кажется
На странице есть отдельные переключатели популярных сайтов и ресурсов Рунета. Перед включением прочитайте полные списки. Это дополнительные исключения, а не проверка добросовестности каждой страницы.
Такие исключения проверяются раньше чёрного списка. Если запрещённый сайт продолжает проходить, проверьте, не разрешён ли он одним из этих переключателей. Не пытайтесь исправить это повторным добавлением того же домена в чёрный список.
Сайт, на котором любой пользователь может публиковать материалы, полезен и для добросовестных участников, и для рекламных аккаунтов. Разрешение всего домена означает, что одной проверки адреса недостаточно для оценки содержимого конкретной публикации. Сокращатели ссылок требуют такой же осторожности: не считайте их разрешение проверкой конечного адреса.
Инвайты, цитаты и упоминания проверьте отдельно
«Инвайт-ссылки» и «Цитаты из групп» управляют отдельными проверками. Когда они включены и соответствующий тип обнаружен, обычный белый список не отменяет срабатывание. Приглашение в полезную закрытую группу поэтому может исчезнуть, даже если публичный адрес организатора разрешён.
Установка «Не трогать» для обычных Telegram-ссылок не является универсальным выключателем этих отдельных проверок. Если хотите временно остановить именно фильтр ссылок целиком, выключайте основной переключатель модуля, а не только один режим. Другие фильтры при этом могут продолжать работать.
Проверьте и ссылки запуска ботов с параметрами: например, адреса с ?start= могут попадать в обработку инвайтов. Не обещайте участникам, что любой адрес знакомого бота пройдёт на основании его имени.
В текущем интерфейсе переключатель разрешения упоминаний пользователей отмечен как недоступный. Не стройте политику на обещании «личные @упоминания всегда разрешены, каналы всегда запрещены». Обязательно проверьте привычное упоминание участника, если включаете строгий режим Telegram-ссылок.
Отдельного правила «новичкам нельзя ссылки первые N дней» на этом экране нет. Капча для новых участников решает другую задачу и не создаёт такой таймер.
Настройка на условном примере
Допустим, в группе проекта нужны любые справочные сайты, кроме уже известных рекламных источников. Ссылки на сторонние Telegram-каналы запрещены, но официальный канал проекта нужен. Это пример политики, не готовые настройки для любого чата.
- В личном чате с @defendy_bot откройте «Настройки», выберите тестовую группу и проверьте название сверху.
- Перейдите в «Антиспам» → «Ссылки» и включите фильтр.
- Для «Веб-сайтов» выберите «Чёрный список». Для «Каналов и чатов» — «Удалять».
- Откройте чёрный список, нажмите «Добавить», выберите тип «Домен» и внесите конкретный нежелательный источник. Для безопасного теста можно использовать условный
example.net. - В белый список добавьте публичный источник вашего проекта с типом «Telegram». Не используйте чужой канал в качестве реального исключения только потому, что он приведён в примере.
- Осознанно выберите настройки инвайтов, цитат, IP-адресов и некликабельных ссылок. Для первого теста отключите дополнительные исключения популярных сайтов: так понятнее, какое правило дало результат.
- Для участника выберите действие «Нет». Сохраните формы добавления и повторно откройте списки. Переключатели сохраняются при изменении; проверьте результат сохранения.
- Отправьте контрольные сообщения от обычного участника без специальных исключений. Только после этого решайте, нужно ли дополнительное наказание.
Для временного мута или бана после выбора действия явно выберите длительность и снова проверьте её. Не переносите в рабочую группу непроверенное значение срока. Предупреждение тоже может привести к ограничению через уже настроенную систему варнов.
Набор проверки: семь сообщений вместо одной ссылки
Следующие результаты ожидаются от описанной условной политики. Запишите рядом фактический результат в своей тестовой группе.
| Сообщение | Что должно произойти |
|---|---|
| Обычный справочный сайт вне чёрного списка | Остаться |
Ссылка на тестовый запрещённый example.net | Сработать как нарушение |
| Публичная ссылка на разрешённый канал проекта | Остаться при отсутствии отдельного специального основания |
| Публичная ссылка на другой канал | Сработать как нарушение |
| Разрешённая и запрещённая ссылки в одном сообщении | Разрешённая ссылка не должна «прикрыть» запрещённую; возможно удаление всего сообщения |
| Текст «полезная инструкция», в который встроен запрещённый URL | Проверяется адрес перехода, а не только видимая подпись |
| Приглашение в закрытую группу | Проверить отдельно с выбранной настройкой инвайтов |
Telegram различает обычный URL и адрес, встроенный в кликабельный текст: это описано в MessageEntity. Поэтому проверка одной вставленной строки не заменяет тест форматированной ссылки.
Добавьте те формы, которыми действительно пользуется сообщество: ссылку в подписи к фото, ссылку на конкретный пост, моноширинный фрагмент, адрес с изменённым регистром, поддомен, несколько ссылок подряд. Для некликабельных внешних и Telegram-ссылок есть отдельные настройки. Маскированные адреса вроде site[.]com не являются основанием обещать распознавание всех обходов; проверяйте конкретный вариант.
Не открывайте неизвестные ссылки ради теста. Используйте свои контрольные адреса и подготовленное сообщение. Здесь нужно проверить решение фильтра, а не исследовать чужую подозрительную страницу.
Почему запрет предпросмотра не помог
В Telegram право can_add_web_page_previews относится к предпросмотру страницы. Оно не запрещает сам URL в тексте. Это различие видно в описании разрешений Telegram.
Для удаления сообщений боту нужны соответствующие полномочия; в супергруппе это право удаления сообщений. Требование описано в методе deleteMessage. Начните с проверки прав Defendy, если настройки сохраняются, но тестовое сообщение остаётся.
Если исчез полезный ответ
Сначала выясните, что было удалено: обычный домен, инвайт, ссылка на пост, скрытый URL или сообщение с несколькими адресами. Пользователь может помнить только полезную ссылку, а нарушение окажется во второй ссылке в той же реплике.
Затем проверьте режим именно этой категории и запись в нужном списке. Если разрешён основной домен, а удаляется документация на поддомене, добавьте и проверьте отдельное имя. Если это инвайт или цитата, не расширяйте доменный белый список в надежде повлиять на другую проверку.
Посмотрите журнал модерации, если нужные события записывались. При массовых ошибках временно отключите фильтр ссылок, исправьте конкретную причину и повторите весь контрольный набор. Другая антиспам-проверка или другой бот тоже могут удалять сообщения, поэтому наличие ссылки ещё не доказывает причину.
Снятие ошибочного предупреждения или ограничения — отдельное действие модератора. Изменение списка не возвращает удалённый оригинал. После исправления попросите автора повторить ответ и сообщите коротко, какое правило вы уточнили. Так у участников останется понятный способ делиться источниками, а у модераторов — воспроизводимая проверка вместо спора о том, «почему бот опять всё удаляет».
Источники и актуальность
Настройки и особенности Defendy сверены 5 октября 2026 года; руководство по фильтру ссылок содержит справку по отдельным полям. В тот же день проверены официальные разделы Telegram: разрешения, сущности сообщения и удаление сообщений. Примеры условные и не являются результатами испытания вашей группы.