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

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

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

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

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

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

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

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

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

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

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


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

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