Наши пользователи часто задают вопрос: Как мне отфильтровать из в своей ленты / канала посты, содержащие сторонние ссылки?

‍Если ваша задача - не удалять посты целиком, а только удалить или заменить в них ссылки, читайте эту статью.

Рассмотрим пример. Предположим, вы пересылаете из Канала А в Канал Б. Вы хотите, чтобы посты с Канала А, содержащие хотя бы одну ссылку, не пересылались.

Это можно сделать двумя способами:

Способ 1. Убирать все посты, содержащие ссылки

Эту задачу можно решить с помощью создания фильтров по регулярному выражению. Фильтры будут проверять наличие любых кликабельных ссылок (тегов <a> и ссылок, начинающихся на http и https).

  1. Откройте пересылку, к которой хотите применить фильтрацию;
  2. ‍В списке настроек найдите "Фильтры";
  3. Создайте 2 фильтра:
  • Тип фильтра: 🔍По регулярному выражению
  • Значение (скопируйте и вставьте): .*<a[^<]+</a>.*
  • Снимите галочку слева от значка лупы

  • Тип фильтра: 🔍По регулярному выражению
  • Значение (скопируйте и вставьте): .*https?:\/\/\S+.*
  • Снимите галочку слева от значка лупы
Создайте фильтр 🔍По регулярному выражению

Введите .*<a[^<]+</a>.* уберите галочку и сохраните

Создайте второй фильтр .*https?:\/\/\S+.*

Для @username (не добавленных ботом):

  • Тип фильтра: 🔍По регулярному выражению
  • Значение (скопируйте и вставьте): .*@([a-zA-Z0-9=&_\-]+).*
  • Снимите галочку слева от значка лупы 
Введите .*@([a-zA-Z0-9=&_\-]+).* уберите галочку и сохраните

Способ 2. Убирать посты с конкретной ссылкой

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

  1. В чате с @junction_bot отправьте команду /track и ссылку на исходное сообщение.
  2. Откройте исходный код сообщения, который пришлёт бот. Это текст, содержащий специальные символы html-разметки, отвечающие за форматирование сообщения.
  3. Найдите фрагмент со ссылкой (например <a href=...>)  и скопируйте его.
  4. Перейдите в Настройки пересылки > Фильтры
  5. Создайте новый фильтр  🎯По текстовому совпадению и вставьте скопированный фрагмент со ссылкой.
  6. Снимите галочку слева от значка лупы и сохраните.

Пример обычного текстового фильтра: <a href="https://www.junctionbot.io">Лучший бот</a>


Отправьте боту команду отправьте команду /track и ссылку на исходное сообщение. Скопируйте код ссылки целиком.

Создайте новый фильтр 🎯По текстовому совпадению, снимите галочку и сохраните

Готово! Теперь посты, содержащие ссылку <a href="https://www.junctionbot.io">Лучший бот</a> не будут приходить в канал вообще.

Н‍апомним, что если ваша задача - не удалять посты целиком, а только удалить или заменить в них ссылки, читайте эту статью.