
Як налаштувати фільтр за словами в Telegram-групі
Бот видаляє повідомлення з потрібними словами. Розбираємо, як зібрати правило з кількох слів, додати синоніми та винятки й перевірити його до ввімкнення.
Рано чи пізно в будь-якому живому чаті починає повторюватися одне й те саме: «пишіть у приватні», «продам акаунт», оголошення про обмін крипти. Чистити це руками виснажливо, а тримати цілодобового модератора ні до чого — з такою рекламою та спамом справляється фільтр за словами: бот сам видаляє повідомлення, у яких знайшлися потрібні слова.
У Scarabeus цей фільтр називається модерацією за фразами. На відміну від ШІ-правил тут немає здогадів: правило або знайшло слова в повідомленні, або ні. Тому фрази зручні там, де формулювання передбачувані, а ціна помилки висока.
Конструктор виглядає як набір фрагментів, пов’язаних між собою. Нижче — що означає кожен зв’язок, як вони поєднуються і чому одне й те саме правило іноді поводиться не так, як очікуєш. Усі приклади з результатами «упіймає» та «пропустить» перевірені на тому самому механізмі, який працює в боті.
Де налаштовуються стоп-слова в Telegram-групі#
Розділ Модерація → картка «Модерація за фразами». На самій картці — перемикач, який вмикає та вимикає весь блок, а кнопка «Налаштувати» відкриває набори правил.

Зведення на картці одразу показує, скільки наборів і правил увімкнено та в скількох наборах ще не задані санкції.
Правила живуть усередині наборів. Набір — це тематична пачка: «Крипта», «Реклама каналів», «Мат». Сенс поділу не косметичний: ланцюжок покарань прив’язаний до набору, тому реклама й образи можуть каратися по-різному і не змішувати лічильники порушень.
Як зібрати перше правило#
Усередині набору натисніть «Додати правило». Правило збирається з фрагментів двох видів:
- фраза — конкретні слова, які шукаємо в повідомленні;
- число — будь-яка послідовність цифр, відображається як «будь-яке число».
Між сусідніми фрагментами завжди стоїть зв’язок — АБО чи І. Кнопка «Додати фрагмент» додає наступний шматок, а «Згрупувати» об’єднує сусідні фрагменти в групу.

Згори редактора завжди висить попередній перегляд — він показує, як правило прочитається насправді.
Візьмімо для прикладу набір «Крипта»: у чаті про настільні ігри оголошення про обмін валют не потрібні. Найпростіше робоче правило — одна фраза:
Воно впіймає прямі оголошення й пропустить усе, що сформульовано інакше. Далі починається те, заради чого потрібен конструктор.
І — обидві частини мають бути в повідомленні#
Зв’язок І означає, що в тексті мають зустрітися обидва фрагменти. Поруч зі зв’язком з’являється поле «До n символів» — максимальна відстань між ними.
- Упіймає: “swap usdt at a good rate”.
- Упіймає: “usdt for swap” — без суворого порядку неважливо, яке слово йде першим.
- Пропустить: “swap stickers happens every friday at our board game club, and questions about usdt belong in another chat” — між словами більше ніж 40 символів.
АБО — достатньо будь-якої з частин#
Зв’язок АБО спрацьовує, якщо знайдена хоча б одна із сусідніх частин:
- Упіймає: “buying a couch” — АБО не вимагає нічого, крім одного зі слів, тому таке правило широке.
- Пропустить: “trading cards”.
Важлива тонкість: АБО зв’язує сильніше, ніж І. Ось це правило:
читається як «swap або p2p — і поруч usdt», а не як «або swap, або p2p поруч із usdt». Явно той самий зв’язок виглядає так:
- Пропустить: “swap stickers” — слово “swap” саме по собі нічого не ловить, йому теж потрібен “usdt” неподалік.
- Упіймає: “p2p usdt” і “swap usdt”.
Якщо потрібне інше групування — виділіть частини кнопкою «Згрупувати», тоді спочатку шукається збіг усередині групи, а вже його результат пов’язується з рештою фрагментів. Груп у правилі може бути кілька, але група всередині групи неприпустима.
Число — будь-які цифри#
Фрагмент «будь-яке число» підставляється замість будь-якої послідовності цифр: суми, кількості, номери. Він потрібен там, де слова передбачувані, а числа — ні:
- Упіймає: “selling for 500”, “giving away 2 pieces”.
- Пропустить: “selling advice” — цифр у ньому немає.
«До n символів»: дві пастки#
Перша: 0 означає «без обмеження», а не «впритул». Це найчастіша помилка. Якщо поставити 0, фрагменти просто мають десь зустрітися в повідомленні — хоч у першому рядку й в останньому.
Друга: відстань рахується за текстом, з якого вже прибрані пробіли.
- Упіймає: “notcrypto”, “not crypto” і “not crypto” — пробіли зникають перед перевіркою, тож в усіх трьох випадках відстань дорівнює нулю.
Тому обмеження покриває значно більше, ніж здається на око: 40 символів без пробілів — це приблизно шість-сім слів.
Суворий порядок#
За замовчуванням зв’язок І не дивиться на порядок — як у прикладі “usdt for swap” вище. Галочка «Суворий порядок» вимагає, щоб частини йшли в тексті зліва направо — рівно так, як вони виставлені у формі. У схемі суворий порядок позначається знаком оклику:
- Упіймає: “buying usdt”.
- Пропустить: “usdt buying”.
Суворий порядок можна ввімкнути на все правило цілком або лише на групу.
Винятки#
Галочка «Виняток» перетворює фрагмент на умову, яка скасовує спрацювання. Виняток залишається звичайною частиною ланцюжка — зі своїм зв’язком, як і всі інші, — і відрізняється лише кольором. Що саме він скасовує, залежить від рівня.
Виняток на верхньому рівні скасовує все правило. Спочатку перевіряється основна частина, і якщо вона збіглася, але десь у повідомленні знайшовся виняток — правило не спрацьовує. Приклад — набір «Реклама каналів», де власні анонси не мають потрапляти під роздачу:
- Упіймає: “subscribe to the channel”.
- Скасує виняток: “subscribe to our channel”.
- Скасує виняток: “our channel: subscribe to the channel” — де саме в повідомленні знайшовся виняток, значення не має.
Якщо «своїх» варіантів кілька, виняток ставиться на всю групу — тоді будь-який із них скасовує спрацювання:
- Скасує виняток: “subscribe to the official channel”.
- Упіймає: “subscribe to the channel”.
Виняток усередині групи гасить лише цю групу, а решта гілок АБО за її межами продовжують працювати. Як це виглядає на ділі — у розділі про комбінації нижче.
На кожному рівні дозволено один виняток, вкладені винятки заборонені.
Комбінації: як частини працюють разом#
Окремі зв’язки зрозумілі; несподіванки починаються, коли їх поєднуєш. А саме поєднання й потрібні, щоб вичищати рекламу та спам, не зачіпаючи звичайні розмови. Нижче — основні комбінації й те, як на них реагує правило.
Група з І всередині АБО#
Група може сама бути зв’язкою І — тоді вона цілком стає однією з гілок АБО:
- Упіймає: “buying usdt” — спрацювала група.
- Упіймає: “any p2p here?” — спрацювала друга гілка, група не знадобилася.
- Пропустить: “buying a couch” — у групі забракло “usdt”, а “p2p” немає.
Ланцюжок із трьох частин#
Зв’язки І можна ставити поспіль, у кожного своя відстань. Правило спрацює лише тоді, коли знайдуться всі частини:
- Упіймає: “selling telegram account”.
- Пропустить: “selling an account” — однієї частини бракує.
Дві групи через І#
Груп може бути кілька — наприклад, синоніми з обох боків:
- Упіймає: “p2p btc”, “swap usdt” — будь-яке слово з першої групи поруч із будь-яким із другої.
- Пропустить: “swap stamps”.
Суворий порядок без обмеження відстані#
Суворий порядок і відстань незалежні. З нулем порядок важливий, а розрив — ні:
- Упіймає: “swap stickers, and at the very end about usdt”.
- Пропустить: “usdt first, swap later”.
Суворий порядок лише всередині групи#
Порядок можна вимагати від однієї групи, не зв’язуючи решту правила:
- Упіймає: “buying usdt”.
- Пропустить: “usdt buying” — усередині групи порядок порушений.
- Упіймає: “usdt buying via p2p” — група не спрацювала, зате спрацювала гілка “p2p”.
Число першим#
Число може стояти будь-де в ланцюжку. Разом із суворим порядком це дозволяє ловити «сума, потім валюта», не чіпаючи зворотний порядок:
- Упіймає: “500 usdt”.
- Пропустить: “usdt 500”.
Виняток усередині групи#
Найтонший випадок: виняток гасить лише свою групу, а сусідня гілка АБО живе власним життям:
- Упіймає: “swap usdt” — група спрацювала, винятку немає.
- Скасує виняток: “swap stickers” — групу погашено, інших гілок у повідомленні немає.
- Упіймає: “swap stickers and p2p” — групу погашено, але гілка “p2p” спрацювала сама.
Суворий порядок і виняток#
Виняток не бере участі в порядку: суворий порядок перевіряє основні частини, а виняток шукається по всьому повідомленню:
- Упіймає: “buying usdt”.
- Скасує виняток: “buying from you usdt”.
Чому правило спрацьовує не так: що відбувається з текстом перед перевіркою#
Це ключовий розділ: половина несподіванок пояснюється саме ним. І правило, і повідомлення зводяться до одного вигляду, і лише потім порівнюються:
- текст переводиться в нижній регістр — регістр ніколи не важливий;
- емодзі видаляються;
- розділові знаки та символи замінюються на пробіл;
- підміна літер розпізнається: у словах, де перемішані алфавіти або літери з цифрами, зайві символи повертаються назад — “go0ds” читається як “goods”, а “cаnal” із кириличною «а» — як “canal”. Послідовність цифр не чіпають, тож “100” залишається “100” — і “g00ds” із двома нулями поспіль теж не перетворюється;
- усі пробіли видаляються.
Звідси три наслідки, які варто пам’ятати:
- Пошук іде за підрядком, меж слів немає. Фраза
banзнайдеться в “banana” та “urban”. Короткі фрази майже завжди треба уточнювати зв’язком І або замінювати довшими. - Пробіли та знаки всередині фрази не заважають. Правило
spamспрацює на “s p a m” і “s.p.a.m”. - Фраза з самих лише емодзі чи розділових знаків не спрацює ніколи — після нормалізації від неї нічого не залишиться.
Перевірте правило до того, як воно запрацює#
Унизу редактора є картка «Перевірити правило». Вставте в поле «Текст для перевірки» справжнє повідомлення й натисніть «Перевірити».
Перевіряється чернетка, яка зараз відкрита у формі, — зберігати правило не потрібно. Санкцій це не викликає і в журнал не потрапляє. Відповідь буває трьох видів:
- «Текст не проходить модерацію» — правило спрацювало б;
- «Текст проходить модерацію» — не спрацювало; нижче перелічено, чого саме забракло: «У тексті не знайдено: …»;
- «Текст проходить модерацію» і при цьому підсвічений виняток — правило спрацювало, але було скасоване винятком.
Підсвічування показує текст уже після нормалізації: без пробілів, емодзі та розділових знаків. Виглядає незвично, зате одразу видно, що саме порівнює бот.

Перевірка нічого не зберігає й нікого не карає — вона лише показує, чи спрацювало б правило на цьому тексті.
Чому правило не видаляє повідомлення: санкції задаються в наборі#
Ланцюжок покарань задається лише в наборі: «Після N порушень — попередження, після наступного — м’ют» і так далі. Ні в окремого правила, ні в блоку загалом свого ланцюжка немає — саме набір і є тією одиницею, якій призначається суворість. Тому правила й варто розкладати по наборах: «Крипта», «Реклама каналів», «Мат» караються по-різному.

Правила набору видно списком, а внизу картки — його ланцюжок покарань.
Якщо в наборі не налаштовані санкції, його правила не спрацюють узагалі — і в журналі не з’явиться жодного рядка. Набір виглядає робочим, але насправді не діє. Якщо правило «не ловить», перевіряти варто насамперед це.
Галочка «Свій лічильник порушень» у редакторі правила потрібна, коли одне правило не повинно тягнути за собою решту: його спрацювання рахуються окремо й не зсувають спільний лічильник набору. Зворотний бік — при вимкненні галочки накопичений лічильник цього правила видаляється, і ескалація починається заново.
Що і коли перевіряється#
- Перевіряється текст повідомлення та підпис до медіа. Повідомлення без тексту текстові шари не зачіпають.
- Відредаговані повідомлення перевіряються заново — правка не рятує.
- Адміни чату й учасники з білого списку пропускаються до всіх перевірок: ні спрацювань, ні лічильників.
- Шари йдуть по черзі: довжина → дублікати → фрази → регулярні вирази → посилання. Перший шар, що спрацював, завершує перевірку, тому повідомлення, спіймане за довжиною чи дублікатами, до фраз уже не доходить.
- Якщо спрацювали кілька фразових правил, зараховується перше за порядком — від нього й береться набір, а отже і ланцюжок покарань.
У журналі модерації спрацювання відображається як «Фрази: назва набору», там же видно, яке правило збіглося і на якому щаблі ескалації опинився учасник.
Ліміти тарифів#
На Обмеженому тарифі одночасно працює не більше ніж десять фразових правил: перемикач у картці набору обирає, які саме з них активні. Кількість самих наборів не обмежена. На Base обмежень за фразами немає, і там же доступні регулярні вирази та окремі налаштування для тем форуму. Що входить у кожен тариф — на сторінці тарифів.
Часті запитання#
Чим фразові правила відрізняються від звичайних стоп-слів?
Стоп-слово заборонене саме по собі. Фразове правило вміє вимагати кілька слів поруч, допускати синоніми через АБО, враховувати порядок і мовчати, якщо в повідомленні знайшовся виняток. Тому воно значно рідше зачіпає звичайні розмови.
Як заблокувати мат у Telegram-чаті?
Заведіть окремий набір — наприклад, «Нецензурна лексика», — складіть у нього правила з варіантами написання через АБО й призначте набору ланцюжок покарань. Поки в наборі немає санкцій, його правила не спрацьовують.
Чому моє правило нічого не видаляє?
Найчастіше в наборі не налаштований ланцюжок покарань. Інші причини: блок «Модерація за фразами» вимкнений; повідомлення спіймав раніший шар — довжина або дублікати; автор виявився адміном чату чи учасником білого списку; на Обмеженому тарифі правило не потрапило в десятку активних.
Чи ловляться слова з пробілами та підміненими літерами?
Так. Перед перевіркою з тексту прибираються пробіли, емодзі й розділові знаки, а зайві цифри чи літери з іншого алфавіту всередині слова повертаються назад. Тому “s p a m”, “s.p.a.m” і “spam” для правила — одне й те саме.
Чи перевіряються підписи до фото та відредаговані повідомлення?
Так. Правила дивляться на текст повідомлення та підпис до медіа, а відредаговане повідомлення перевіряється заново — правка його не рятує.
Короткий чеклист#
- Набору призначений ланцюжок покарань — інакше правила мовчать.
- Значення «До n символів» — не 0, якщо ви мали на увазі «поруч».
- Потрібен порядок слів — увімкнений «Суворий порядок».
- Короткі фрази на кшталт
banуточнені зв’язком І, щоб не ловити “banana”. - Правило перевірене на справжньому повідомленні в картці «Перевірити правило».
- Власні анонси винесені у виняток.
Інші інструкції з налаштування модерації Telegram-груп — у журналі Scarabeus.
Читати далі
Інструкції4 хв читанняЯк налаштувати модерацію у форумі Telegram за темами
Як задати кожній темі форуму свої правила модерації, чому тема може бути лише суворішою за форум і чим особлива тема «Загальне».
Інструкції4 хв читанняЯк пояснити боту своїми словами, що видаляти
Правила AI пишуться звичайними словами. Як формулювати, що модель знає про повідомлення і як перевірити правило в симуляторі до вмикання.
Інструкції3 хв читанняЗа що бот видалив повідомлення і як це оскаржити
Як учаснику дізнатися причину командою /why, як подати апеляцію і як адміністратору розбирати скарги, не риючись в історії чату.