
Как настроить фильтр по словам в Telegram-группе
Бот удаляет сообщения с нужными словами. Разбираем, как собрать правило из нескольких слов, добавить синонимы и исключения и проверить его до включения.
В любом живом чате рано или поздно начинает повторяться одно и то же: «пишите в личку», «продам аккаунт», объявления об обмене крипты. Чистить это руками утомительно, а держать круглосуточного модератора незачем — с такой рекламой и спамом справляется фильтр по словам: бот сам удаляет сообщения, в которых нашлись нужные слова.
В Scarabeus этот фильтр называется фразовой модерацией. В отличие от ИИ-правил здесь нет догадок: правило либо нашло слова в сообщении, либо нет. Поэтому фразы удобны там, где формулировки предсказуемы, а цена ошибки высока.
При этом фразовое правило — не просто список запрещённых слов: конструктор собирает его из фрагментов, связанных между собой. Ниже — что означает каждая связь, как они сочетаются и почему одно и то же правило иногда ведёт себя не так, как ожидаешь. Все примеры с результатами «поймает» и «пропустит» проверены на том же механизме, который работает в боте.
Где настраиваются стоп-слова в Telegram-группе#
Раздел Модерация → карточка «Модерация по фразам». На самой карточке — переключатель, который включает и выключает весь блок, а кнопка «Настроить» открывает наборы правил.

Сводка на карточке сразу показывает, сколько наборов и правил включено и в скольких наборах ещё не заданы санкции.
Правила живут внутри наборов. Набор — это тематическая пачка: «Крипта», «Реклама каналов», «Мат». Смысл деления не косметический: цепочка наказаний привязана к набору, поэтому реклама и оскорбления могут наказываться по-разному и не смешивать счётчики нарушений.
Как собрать первое правило#
Внутри набора нажмите «Добавить правило». Правило собирается из фрагментов двух видов:
- фраза — конкретные слова, которые ищем в сообщении;
- число — любая последовательность цифр, отображается как «любое число».
Между соседними фрагментами всегда стоит связь — ИЛИ или И. Кнопка «Добавить фрагмент» добавляет следующий кусок, «Сгруппировать» объединяет соседние фрагменты в группу.

Сверху редактора всегда висит превью — оно показывает, как правило прочитается на самом деле.
Возьмём для примера набор «Крипта»: в чате про настольные игры объявления об обмене валют не нужны. Самое простое рабочее правило — одна фраза:
Оно поймает прямые объявления и пропустит всё, что сформулировано иначе. Дальше начинается то, ради чего нужен конструктор.
И — обе части должны быть в сообщении#
Связь И означает, что в тексте должны встретиться оба фрагмента. Рядом со связью появляется поле «До n символов» — максимальное расстояние между ними.
- Поймает: «обмен usdt по выгодному курсу».
- Поймает: «usdt на обмен» — без строгого порядка неважно, какое слово идёт первым.
- Пропустит: «обмен стикерами проходит каждую пятницу в нашем клубе настольных игр, а вопросы про usdt задавайте в другом чате» — между словами больше 40 символов.
ИЛИ — достаточно любой из частей#
Связь ИЛИ срабатывает, если найдена хотя бы одна из соседних частей:
- Поймает: «куплю слона» — ИЛИ не требует ничего, кроме одного из слов, поэтому такое правило широкое.
- Пропустит: «меняю марки».
Важная тонкость: ИЛИ связывает сильнее, чем И. Вот это правило:
читается как «обмен или p2p — и рядом usdt», а не как «либо обмен, либо p2p рядом с usdt». Явно та же связка выглядит так:
- Пропустит: «обмен стикерами» — слово «обмен» само по себе ничего не ловит, ему тоже нужен «usdt» неподалёку.
- Поймает: «p2p usdt» и «обмен usdt».
Если нужна другая группировка — выделите части кнопкой «Сгруппировать», тогда сначала ищется совпадение внутри группы, а уже его результат связывается с остальными фрагментами. Групп в правиле может быть несколько, но группа внутри группы недопустима.
Число — любые цифры#
Фрагмент «любое число» подставляется вместо любой последовательности цифр: суммы, количества, номера. Он нужен там, где слова предсказуемы, а числа — нет:
- Поймает: «продам за 500», «отдам 2 штуки».
- Пропустит: «продам совет» — цифр в нём нет.
«До n символов»: два подвоха#
Первый: 0 означает «без ограничения», а не «вплотную». Это самая частая ошибка. Если поставить 0, фрагменты просто должны где-то встретиться в сообщении — хоть в первой строке и в последней.
Второй: расстояние считается по тексту, из которого уже убраны пробелы.
- Поймает: «некрипта», «не крипта» и «не кpиптa», где «p» и «a» написаны латиницей — пробелы удаляются, подменённые буквы возвращаются к кириллице, и во всех трёх случаях расстояние равно нулю.
Поэтому ограничение покрывает заметно больше, чем кажется на глаз. Правило
обмен И ≤40 usdt из раздела выше поймает и «обмен стикерами по пятницам, а
про курс usdt спросите в другом чате»: слова вроде бы далеко, но без пробелов
между ними всего 27 символов.
Строгий порядок#
По умолчанию связь И не смотрит на порядок — как в примере «usdt на обмен» выше. Галочка «Строгий порядок» требует, чтобы части шли в тексте слева направо — ровно так, как они выставлены в форме. В схеме строгий порядок обозначается восклицательным знаком:
- Поймает: «куплю usdt».
- Пропустит: «usdt куплю».
Строгий порядок можно включить на всё правило целиком или только на группу.
Исключения#
Галочка «Исключение» превращает фрагмент в условие, которое отменяет срабатывание. Исключение остаётся обычной частью цепочки — со своей связью, как и все остальные, — и отличается только цветом. Работает оно по-разному в зависимости от уровня.
Исключение на верхнем уровне отменяет всё правило. Сначала проверяется основная часть, и если она совпала, но где-то в сообщении нашлось исключение — правило не срабатывает. Пример — набор «Реклама каналов», где собственные анонсы не должны попадать под раздачу:
- Поймает: «подпишись на канал».
- Отменит исключение: «подпишись на наш канал».
- Отменит исключение: «наш канал: подпишись на канал» — где именно в сообщении нашлось исключение, значения не имеет.
Если «своих» вариантов несколько, исключение ставится на всю группу — тогда любой из них отменяет срабатывание:
- Отменит исключение: «подпишись на официальный канал».
- Поймает: «подпишись на канал».
Исключение внутри группы гасит только эту группу, а остальные ветки ИЛИ за её пределами продолжают работать. Как это выглядит в деле — в разделе про комбинации ниже.
На каждом уровне допускается одно исключение, вложенные исключения запрещены.
Комбинации: как части работают вместе#
Отдельные связи понятны; неожиданности начинаются, когда их сочетаешь. А именно сочетания и нужны, чтобы вычищать рекламу и спам, не задевая обычные разговоры. Ниже — основные комбинации и то, как на них реагирует правило.
Группа из И внутри ИЛИ#
Группа может сама быть связкой И — тогда она целиком становится одной из веток ИЛИ:
- Поймает: «куплю usdt» — сработала группа.
- Поймает: «есть p2p?» — сработала вторая ветка, группа не нужна.
- Пропустит: «куплю слона» — в группе не хватило «usdt», а «p2p» нет.
Цепочка из трёх частей#
Связи И можно ставить подряд, у каждой своё расстояние. Сработает правило только если найдутся все части:
- Поймает: «продам аккаунт telegram».
- Пропустит: «продам аккаунт» — одной части не хватает.
Две группы через И#
Групп может быть несколько — например, синонимы с обеих сторон:
- Поймает: «p2p btc», «обмен usdt» — любое слово из первой группы рядом с любым из второй.
- Пропустит: «обмен марками».
Строгий порядок без ограничения расстояния#
Строгий порядок и расстояние независимы. С нулём порядок важен, а разрыв — нет:
- Поймает: «обмен стикерами, а в самом конце про usdt».
- Пропустит: «usdt, а потом обмен».
Строгий порядок только внутри группы#
Порядок можно потребовать от одной группы, не трогая остальное правило:
- Поймает: «куплю usdt».
- Пропустит: «usdt куплю» — внутри группы порядок нарушен.
- Поймает: «usdt куплю через p2p» — группа не сработала, зато сработала ветка «p2p».
Число первым#
Число может стоять в любом месте цепочки. Вместе со строгим порядком это позволяет ловить «сумма, потом валюта», не трогая обратный порядок:
- Поймает: «500 usdt».
- Пропустит: «usdt 500».
Исключение внутри группы#
Самый тонкий случай: исключение гасит только свою группу, а соседняя ветка ИЛИ живёт своей жизнью:
- Поймает: «обмен usdt» — группа сработала, исключения нет.
- Отменит исключение: «обмен стикерами» — группа погашена, других веток в сообщении нет.
- Поймает: «обмен стикерами и p2p» — группа погашена, но ветка «p2p» сработала сама.
Строгий порядок и исключение#
Исключение не участвует в порядке: строгий порядок проверяет основные части, а исключение ищется по всему сообщению:
- Поймает: «куплю usdt».
- Отменит исключение: «куплю у вас usdt».
Почему правило срабатывает не так: что происходит с текстом перед проверкой#
Это ключевой раздел: половина неожиданностей объясняется именно им. И правило, и сообщение приводятся к одному виду, и только потом сравниваются:
- текст переводится в нижний регистр — регистр никогда не важен;
- эмодзи удаляются;
- знаки препинания и символы заменяются на пробел;
- подмена букв распознаётся: в словах, где перемешаны алфавиты или буквы с цифрами, латиница и цифры возвращаются к кириллице — «к0манду» становится «командой», «кaнaл» с латинскими «a» — обычным «каналом». Число целиком (например, «100») так не переделывается;
- все пробелы удаляются.
Отсюда три следствия, которые стоит помнить:
- Поиск идёт по подстроке, границ слов нет. Фраза
баннайдётся в «банан», «банк» и «урбанизация». Короткие фразы почти всегда нужно уточнять связью И или заменять более длинными. - Пробелы и знаки внутри фразы не мешают. Правило
спамсработает на «с п а м» и «с.п.а.м». - Фраза из одних эмодзи или знаков препинания не сработает никогда — после нормализации от неё ничего не останется.
Проверьте правило до того, как оно заработает#
Внизу редактора есть карточка «Проверить правило». Вставьте в поле «Текст для проверки» реальное сообщение и нажмите «Проверить».
Проверяется черновик, который сейчас открыт в форме, — сохранять правило не нужно. Санкций это не вызывает и в журнал не попадает. Ответ бывает трёх видов:
- «Текст не проходит модерацию» — правило сработало бы;
- «Текст проходит модерацию» — не сработало; ниже перечислено, чего именно не хватило: «В тексте не найдено: …»;
- «Текст проходит модерацию» и при этом подсвечено исключение — правило сработало, но было отменено исключением.
Подсветка показывает текст уже после нормализации: без пробелов, эмодзи и знаков препинания. Выглядит непривычно, зато сразу видно, что именно сравнивает бот.

Проверка ничего не сохраняет и никого не наказывает — она лишь показывает, сработало бы правило на этом тексте.
Почему правило не удаляет сообщения: санкции задаются у набора#
Цепочка наказаний задаётся только у набора: «После N нарушений — предупреждение, после следующего — мьют» и так далее. Ни у отдельного правила, ни у блока целиком своей цепочки нет — именно набор и есть та единица, которой назначается строгость. Поэтому правила и стоит раскладывать по наборам: «Крипта», «Реклама каналов», «Мат» наказываются по-разному.

Правила набора видны списком, а внизу карточки — его цепочка наказаний.
Если у набора не настроены санкции, его правила не сработают вообще — и в журнале не появится ни строки. Набор выглядит рабочим, но по факту бездействует. Если правило «не ловит», проверять стоит в первую очередь это.
Галочка «Свой счётчик нарушений» в редакторе правила нужна, когда одно правило не должно тянуть за собой остальные: его срабатывания считаются отдельно и не сдвигают общий счётчик набора. Обратная сторона — при выключении галочки накопленный счётчик этого правила удаляется, и эскалация начинается заново.
Что и когда проверяется#
- Проверяется текст сообщения и подпись к медиа. Сообщение без текста текстовые слои не затрагивают.
- Отредактированные сообщения проверяются заново — правка не спасает.
- Админы чата и участники из белого списка пропускаются до всех проверок: ни срабатываний, ни счётчиков.
- Слои идут по порядку: длина → дубликаты → фразы → регулярные выражения → ссылки. Первый сработавший слой завершает проверку, поэтому сообщение, пойманное по длине или дубликатам, до фраз уже не доходит.
- Если сработали несколько фразовых правил, засчитывается первое по порядку — от него и берётся набор, а значит и цепочка наказаний.
В журнале модерации срабатывание отображается как «Фразы: название набора», там же видно, какое правило совпало и на какой ступени эскалации оказался участник.
Лимиты тарифов#
На Ограниченном тарифе одновременно работает не больше десяти фразовых правил: переключатель в карточке набора выбирает, какие именно из них активны. Количество самих наборов не ограничено. На Базовом ограничений по фразам нет, и там же доступны регулярные выражения и отдельные настройки для тем форума. Что входит в каждый тариф — на странице тарифов.
Частые вопросы#
Чем фразовые правила отличаются от обычных стоп-слов?
Стоп-слово запрещено само по себе. Фразовое правило умеет требовать несколько слов рядом, допускать синонимы через ИЛИ, учитывать порядок и не срабатывать, если в сообщении нашлось исключение. Поэтому оно реже задевает обычные разговоры.
Как заблокировать мат в Telegram-чате?
Заведите отдельный набор — например, «Нецензурная лексика», — сложите в него правила с вариантами написания через ИЛИ и назначьте набору цепочку наказаний. Пока у набора нет санкций, его правила не срабатывают.
Почему правило не удаляет сообщения?
Чаще всего у набора не настроена цепочка наказаний. Другие причины: блок «Модерация по фразам» выключен; сообщение поймал более ранний слой — длина или дубликаты; автор оказался админом чата или участником белого списка; на Ограниченном тарифе правило не попало в десятку активных.
Ловятся ли слова с пробелами и подменёнными буквами?
Да. Перед проверкой из текста убираются пробелы, эмодзи и знаки препинания, а латиница и цифры внутри слов возвращаются к кириллице. Поэтому «с п а м», «с.п.а.м» и «спам» для правила — одно и то же.
Проверяются ли подписи к фото и отредактированные сообщения?
Да. Правила смотрят текст сообщения и подпись к медиа, а отредактированное сообщение проверяется заново — правка не спасает.
Короткий чеклист#
- Набору назначена цепочка наказаний — иначе правила молчат.
- Значение «До n символов» — не 0, если вы имели в виду «рядом».
- Нужен порядок слов — включён «Строгий порядок».
- Короткие фразы вроде «бан» уточнены связью И, чтобы не ловить «банан».
- Правило проверено на реальном сообщении в карточке «Проверить правило».
- Собственные анонсы вынесены в исключение.
Другие инструкции по настройке модерации Telegram-групп — в журнале Scarabeus.
Читать дальше
Инструкции4 мин чтенияКак настроить модерацию в форуме Telegram по темам
Как задать каждой теме форума свои правила модерации, почему тема может быть только строже форума и чем особенная тема «Общее».
Инструкции4 мин чтенияКак объяснить боту своими словами, что удалять
Правила AI пишутся обычными словами. Как формулировать, что модель знает о сообщении и как проверить правило в симуляторе до включения.
Инструкции3 мин чтенияЗа что бот удалил сообщение и как это оспорить
Как участнику узнать причину наказания командой /why, как подать апелляцию и как администратору разбирать жалобы, не роясь в истории чата.