Модерація коментарів у Telegram: що працює (2026)
Спам під постом — не те саме, що спам на вході. Що ловлять фільтри, коли м'ют стає баном і чого не бачить жодне правило.
Коротко. Капча на вході і фільтр у коментарях розв’язують різні задачі. На вході ви оцінюєте акаунт, під постом — повідомлення, і відправник уже всередині. AdminHub модерує прив’язану групу обговорення: шість фільтрів за патернами, ловля дублів, тиха ескалація до м’юту і бану та перевірка ШІ для всього, що пройшло правила. Кожна дія потрапляє до журналу. Це робота з патернами, а не зі змістом, і дефолт фільтра посилань суворіший, ніж потрібно більшості каналів.
Черга заявок — відома проблема. Але вечір з’їдають коментарі.
Різниця структурна. На вході ви оцінюєте акаунт: скільки йому днів, чи проходить він перевірку, чи є він у базі спамерів. Під постом ви оцінюєте повідомлення — а за ним може стояти підписник із тримісячним стажем, який до сьогодні не робив нічого поганого. Двері не врятують: відправник уже всередині. Тому канали, які закрили питання із заявками, все одно знаходять крипто-посилання під кожним постом.
Усе далі — про другу задачу. Про самі двері є окремий розбір: захист каналу від спаму і ботів.
Коментарі живуть у групі, а не в каналі
У каналу в Telegram немає власного блоку коментарів. Те, що видно під постом, — це прив’язана група обговорення, а кнопка коментарів відкриває гілку всередині неї. Кожен коментар — повідомлення у групі.
Звідси три наслідки, і вони визначають можливе ще до будь-яких налаштувань.
Немає прив’язаної групи — нема чого модерувати. Якщо коментарі вимкнені, чату немає і фільтрам нема чого читати.
Бот має бути адміном у групі, а не лише в каналі. Права в каналі дають йому публікувати. Права в групі — бачити повідомлення й видаляти їх. Групу обговорення AdminHub визначає сам, за пов’язаним чатом каналу, але права видаєте ви.
Бан — це бан у групі. Забанений за спам у коментарях лишається підписником каналу і втрачає тільки можливість писати під постами. Зазвичай саме цього й хотілося.
Шість фільтрів і що кожен насправді ловить
Два увімкнені за замовчуванням, бо вдвох вони закривають більшу частину потоку.
- Інвайт-посилання — форми
t.me/+іt.me/joinchat/у будь-якому написанні. Це той самий спам «підпишись на мій канал». - Посилання — будь-яка адреса http або https плюс список дозволених доменів, який заповнюєте ви. Звірка йде за точним доменом або справжнім піддоменом, тому дозволений example.com не пропускає заразом evil-example.com.
Ще чотири вимкнені, доки ви їх не увімкнете.
- Пересилання — будь-яке переслане повідомлення, чим би воно не було.
- Згадки — @username від чотирьох символів. Поштові адреси виключені навмисно: збіг за @gmail усередині адреси раніше видаляв нормальні повідомлення.
- Телефони — достатньо довгий ланцюжок цифр. Відрізнити телефон від номера замовлення він не може.
- Стоп-слова — ваш список, пошук за підрядком без урахування регістру. Підрядок означає, що «кран» спрацює всередині слова «екран». Беріть слова, які ви видалили б не дивлячись, і небагато.
Порядок саме такий, перемагає перший збіг, видалення відбувається одразу й мовчки. Автору не повідомляють, чому його повідомлення зникло.
Те саме повідомлення тричі
Окремо від фільтрів: однаковий текст від однієї людини тричі за п’ять хвилин видаляється, а автор отримує м’ют на п’ять хвилин.
Порівняння точне — текст обрізається, зводиться до нижнього регістру і хешується. Один змінений символ робить повідомлення різними. Тож копіпаста і залипла клавіатура ловляться, а ротація шаблону — ні.
П’ятихвилинне вікно тут важливе, і це виправлення довелося викочувати окремо. Без нього три «дякую» — узагалі колись, хоч за місяць — давали завсіднику м’ют.
Обмеження за частотою тут немає: ніщо не рахує повідомлення за секунду незалежно від змісту. Це вміє нативний повільний режим Telegram у налаштуваннях групи, і вміє краще.
Що відбувається після третього порушення
Кожне спрацювання фільтра додає одиницю до лічильника, який ведеться по людині та чату. Три числа задаєте ви: м’ют після N порушень (за замовчуванням 3), бан після N (6, після чого лічильник обнуляється) і тривалість м’юту (за замовчуванням година, задається від хвилини до доби).
Ескалація теж тиха. У чат нічого не пишеться ні до, ні після. Випадковий порушник втрачає одне повідомлення, упертий — спершу право писати, потім групу.
Одну властивість варто знати: лічильники живуть у пам’яті, а не в базі, тому перезапуск або деплой їх обнуляє. Тобто ескалація — це поведінка в межах сесії, а не вічна справа; працює це в обидва боки і частіше на користь учасника.
Поруч стоять два необов’язкові вікна. Обмеження для новачків блокують посилання і пересилання перші N годин після вступу. Нічний режим блокує посилання і медіа між двома годинами за UTC — на проміжок, коли ніхто не дивиться. Обидва за замовчуванням вимкнені.
Перевірка ШІ наприкінці
Правила йдуть першими, бо спрацьовують миттєво. Усе, що їх пережило, вирушає на перевірку ШІ, і це саме те, чого регулярний вираз не вміє в принципі: акуратно написане рекламне повідомлення, у якому немає жодного посилання.
На перевірку йде текст повідомлення — перші 500 символів, — назва вашого каналу як контекст і додаткові правила, які ви вписали в одне вільне поле: наприклад, «ми обговорюємо автомобілі, все про ставки — спам». Відповідь бінарна: спам або ні. Спам означає тихе видалення і плюс одне порушення в лічильнику.
Дві властивості тут важливіші за саму модель.
Читається лише текст. Фото без підпису для перевірки не існує. Стікер теж.
Збій трактується на користь автора. Якщо перевірка впала або не вклалася в таймаут, повідомлення лишається. Збій робить модерацію слабшою, але ніколи — знервованішою.
Що бачить власник
Кожна дія — видалення, м’ют, бан — пишеться до журналу разом із правилом, яке її спричинило, першими 500 символами повідомлення і часом. У панелі видно суми за типами дій, найчастіші фільтри та останні записи.
Саме журнал робить суворі налаштування стерпними. Надто агресивне правило виявляється за день як низка видалень, з якими ви не згодні, а не як підписники, що тихо вирішили, ніби коментарі померли.
Учасники можуть ще відповісти на повідомлення командою /report. Це створює запис для вас і більше нічого — жодного автоматичного видалення і жодних заходів з чужих слів.
Де це не допоможе
- Патерни, а не зміст. Стоп-слова — підрядки, фільтр телефонів рахує цифри, фільтр згадок бачить будь-яке @ім’я. Контекст не читає жоден із них. Перевірка ШІ читає — у межах 500 символів тексту, і це судження, а не гарантія.
- Дефолт щодо посилань суворіший, ніж потрібно більшості. Як є, він видаляє будь-яке посилання в усіх, включно із завсідниками. Заповніть дозволені домени, перш ніж на нього покладатися.
- Медіа без тексту не оцінюється. Картинка перевіряється правилами про пересилання і новачків — і більше нічим.
- Відредаговані повідомлення повторно не перевіряються. Чистий коментар, у який потім дописали посилання, лишиться.
- Коментарі від імені каналу пропускаються. Дивляться лише повідомлення від справжніх користувацьких акаунтів. Той, хто пише під личиною свого каналу, перебуває поза всім цим.
- Це не замінює людину в розігрітій гілці. Сміття знімається автоматично. Сварки, набіги і просто занудний офтоп лишаються вам.
Що зробити зараз
- Увімкніть модерацію у мініпрограмі й перевірте, що група обговорення визначилася.
- Видайте боту права адміністратора в цій групі — щонайменше видалення й обмеження учасників.
- Заповніть список дозволених доменів, перш ніж лишати фільтр посилань увімкненим.
- Додайте три-чотири стоп-слова, які ви видалили б не дивлячись. Не тридцять.
- Через день подивіться журнал і змініть рівно одну настройку.
Повний перелік функцій — на сторінці захисту каналу, а про сторону дверей у того самого інструмента є захист каналу від спаму і ботів. Якщо в коментарях тихо з іншої причини — обговорювати нема чого, — друга половина задачі тут: автоматизація контенту каналу.
Що зазвичай запитують
- Навіщо модерація коментарів, якщо на вході вже стоїть капча?
- Це різні задачі. На вході ви оцінюєте акаунт: вік, історію, чи проходить він перевірку. Під постом ви оцінюєте повідомлення, а за ним часто стоїть справжній підписник, який три місяці не робив нічого поганого. Двері тут не допоможуть — відправник уже всередині.
- Які фільтри коментарів увімкнені за замовчуванням?
- Два: інвайт-посилання і звичайні посилання. Пересилання, згадки, телефони та ваш список стоп-слів вимкнені, доки ви їх не увімкнете. Насамперед налаштуйте саме фільтр посилань: на дефолтних налаштуваннях він видаляє будь-яке посилання в усіх поспіль, включно з завсідником, який приніс джерело, — доки ви не заповните список дозволених доменів.
- За що в коментарях дають м'ют і бан?
- Кожне спрацювання фільтра додає одне порушення до лічильника, який ведеться окремо по людині та чату. Три порушення — м'ют на годину, шість — бан у групі обговорення; обидва пороги і тривалість м'юту задаєте ви самі. Окремо від цього той самий текст, надісланий тричі за п'ять хвилин, видаляється, а автор отримує м'ют на п'ять хвилин.
- ШІ бачить усе?
- Ні. Він працює останнім, лише на повідомленнях, які пройшли правила, і лише за текстом — першими 500 символами коментаря або підпису. Фото без підпису для нього не існує, стікер теж. Якщо перевірка не відповідає або падає за таймаутом, повідомлення лишається на місці.
- А живих людей він видалятиме?
- Іноді видалятиме, і саме заради цього існує журнал. Стоп-слова шукаються як підрядки, фільтр телефонів просто рахує цифри, а фільтр посилань не відрізняє джерело від реклами. Кожне видалення, м'ют і бан записуються разом із правилом, яке спрацювало, — тому надто сувора настройка видно як низку видалень, з якими ви не згодні, а не як тихо померлі коментарі.