Фильтрация сообщений
Какие посты не доставляются: фильтр по содержимому, фильтр по словам с регулярными выражениями, импорт и экспорт правил.
Фильтрация сообщений решает, какие посты не доставляются. Раздел есть у чата и у каждого источника; источник может либо переопределять фильтры чата, либо дополнять их (переключатель Режим работы вверху раздела источника — Заменять или Добавлять к, см. Управление источниками).
Блоки экрана сверху вниз:
- Фильтровать по содержимому и Фильтр по словам — на этой странице;
- Фильтр на похожесть — Похожие посты, только у чата;
- Фильтр по времени — Фильтр по времени;
- Чат для отфильтрованных сообщений — Чат для отфильтрованных, только у чата.
Публикация по просмотрам, лайкам, реакциям, комментариям и репостам — отдельный раздел источника: Отложенные фильтры.
Отсев по смыслу — рекламы, постов не по теме — делает модель: см. ИИ-фильтры. Отфильтрованные посты видны в логе событий с причиной.
Фильтр по содержимому
Быстрые переключатели, которые отбрасывают целые классы постов:
- сообщения без текста;
- сообщения без фото;
- сообщения без видео;
- сообщения без медиа;
- сообщения короче минимального числа символов (0 = без ограничения);
У минимальной длины есть второй шаг: как только число больше нуля, мини-приложение спрашивает, на каком этапе её мерить — по исходному тексту, после замен или после обработки ИИ.



Фильтр по словам
В блоке Фильтр по словам строка Правила фильтрации открывает редактор правил. Правила бывают двух видов:
- Обязательные слова — пост пересылается, только если содержит хотя бы одно из них. Используйте их, чтобы следить за одной темой в загруженном источнике.
- Стоп-слова — пост, содержащий любое из них, не пересылается никогда.
Добавление правила по шагам:



У каждого правила есть параметры:
- Точное совпадение — с учётом регистра.
- Отдельное слово — совпадает только целое слово, так что
artне совпадёт соstart. - Регулярное выражение — шаблон является регулярным выражением JavaScript, например
\b(BTC|ETH)\bилиprice[:\s]+\d+. При включении прямо под полем появляется тестовая область: вставьте образец поста — все совпадения подсветятся, под полем будет их количество. Шаблон выполняется с теми же флагами, что и доставка — без учёта регистра, безgи безm, поэтому^/$означают начало/конец всего текста. Кнопка ? рядом с полем открывает шпаргалку частых конструкций (.,\d,\w,\b,[abc], …) — нажатие вставляет её в шаблон. Учтите:\wи\bпонимают только латиницу и не видят кириллицу — используйте[а-яёA-Za-z0-9_]или\p{L}. - Когда применять — До замен (сразу после получения, по исходному тексту), После замен — по тексту после замен, или После ИИ — после обработки моделью. Выбирайте этап, на котором слова гарантированно есть в тексте; где эти этапы стоят на пути поста — см. Путь поста. Этап «после ИИ» ловит и метки, которые дописывает модель, — так устроены ИИ-фильтры.


Правила проверяются по порядку; пост должен пройти каждое стоп-правило и хотя бы одно обязательное (если обязательные правила есть).
Как устроен экран правил:
- Легенда вверху карточки объясняет значки — но только те, что встречаются в ваших правилах: стоп-слово, обязательное слово, точное совпадение, целое слово, регулярное выражение и этапы «после замен» и «после ИИ».
- По 10 правил на странице — если правил больше, под списком появляются номера страниц.
- Нажмите на правило, чтобы изменить его: строка превращается в ту же форму с Отмена и Сохранить.
- Добавить правило под списком открывает форму добавления; пока правил нет, в карточке написано «Правила пока не созданы» и стоит та же кнопка. Открытие формы закрывает правку другого правила без сохранения, и наоборот.
- Список за раз — введите несколько слов через запятую, и форма предложит Разбить на N правил: по правилу на слово, с теми же опциями.
Импорт и экспорт правил
Внизу экрана «Правила фильтрации» — Скачать правила и Загрузить из файла. Правила выгружаются текстовым файлом: его удобно править в блокноте и переносить в другой чат или источник. Одна строка — одно правило:
| Строка | Что значит |
|---|---|
[-] реклама | стоп-слово: пост с ним не пройдёт |
[+] Николаев | обязательное: пост пройдёт, только если оно есть |
[-] Сочи @word | отдельное слово: «Сочи», но не «сочинение» |
[-] BMW @exact | точное совпадение: с учётом регистра |
/куп(и|ить)/i | регулярное выражение — в слэшах, флаги после |
[-] промокод @after_ai | когда проверять: @before_replacements (по умолчанию), @after_replacements, @after_ai |
#! [-] пауза | правило импортируется выключенным |
# заметка | комментарий, при импорте пропускается |
Пример файла показывает такой шаблон целиком. При загрузке мини-приложение сначала показывает, сколько правил нашло в файле, и спрашивает, добавить их к существующим или заменить все; уже существующие правила не дублируются, непонятные строки пропускаются с указанием номера строки.