Telegram / модерация / антиспам / боты

Бот-модератор для Telegram-чата: что умеет и как настроить

Бот-модератор читает сообщения группы и автоматически применяет заданные правила: удаляет спам и ссылки, ограничивает флуд, проверяет новых участников, выдаёт предупреждения, временно запрещает писать или банит нарушителя. Встроенной функции модерации в Telegram нет — Bot API даёт методы получения сообщений и управления участниками, а правила задаёт владелец чата.

Минимум правУдаление сообщений и блокировка пользователей. Остальное — только под конкретную функцию.
Начинать надоС теневого режима: бот отмечает нарушения, но ничего не удаляет. Так видно ложные срабатывания.
Ограничение Bot APIУдалять можно только сообщения не старше 48 часов.
Комментарии каналаБота добавляют в связанную группу обсуждений, а не в сам канал.
Свой бот9 990 ₽, запуск за 1–2 дня. Нужен, когда правила нестандартные или чатов несколько.

Что такое бот-модератор

Бот-модератор — серверная программа, подключённая к Telegram через Bot API. Она получает события из группы, проверяет сообщения по правилам и выполняет предусмотренное действие. Цепочка простая: участник отправил сообщение → Telegram передал событие боту → бот разобрал текст и вложения → нашёл нарушение → удалил сообщение или ограничил пользователя → записал действие в журнал.

Правила могут быть элементарными: запретить конкретное слово, удалять все внешние ссылки, не разрешать больше пяти сообщений за десять секунд, банить после трёх предупреждений. В более сложном продукте учитываются роль пользователя, история нарушений, время с момента вступления, домен ссылки и решения живого модератора по похожим случаям.

Такой бот нужен, когда чат становится достаточно активным и ручная модерация начинает съедать время. До этого момента он не окупается: следить за десятком сообщений в день проще самому.

Что бот реально может

  • удалять сообщения, нарушающие заданные правила;
  • блокировать ссылки, рекламу, стоп-слова и нежелательные типы файлов;
  • считать сообщения пользователя и останавливать флуд;
  • выдавать предупреждения с накоплением;
  • временно запрещать отправку текста, фото, файлов и голосовых;
  • удалять участника или банить с запретом повторного входа;
  • обрабатывать заявки на вступление и проводить капчу;
  • вести журнал действий и отправлять спорные случаи администраторам.

Отдельно стоит знать про ограничение: метод удаления в Bot API работает только с сообщениями, отправленными менее 48 часов назад. Старую переписку бот не почистит.

Где без человека не обойтись

Бот хорошо справляется с формальными правилами: частотой сообщений, чёрными списками, ссылками, повторами, капчей и очевидной рекламой. Всё это проверяется однозначно.

Плохо он справляется с тем, где нужен контекст: сарказм, пассивная агрессия, травля без единого стоп-слова, спорные формулировки, конфликты между постоянными участниками. Автоматический бан ценного человека за неудачную шутку обходится дороже, чем пропущенный спам.

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

Какие права нужны боту

Telegram разделяет административные права по функциям, и выдавать их нужно по принципу минимально необходимого.

Удаление сообщенийcan_delete_messages — нужно для антиспама, антифлуда и фильтров. Давать обязательно.
Блокировка участниковcan_restrict_members — муты, баны, разбаны. Давать обязательно.
Приглашение пользователейcan_invite_users — только если бот обрабатывает заявки на вступление.
Закрепление сообщенийТолько если бот сам закрепляет правила или объявления. Для удаления спама не нужно.
Управление темамиТолько для чатов-форумов, где бот создаёт и закрывает темы.
Изменение информации группыНе давать. Модератору незачем менять название, описание и фото.
Назначение администраторовcan_promote_members — не давать никогда. Это главный множитель ущерба при утечке токена.
Управление видеочатамиНе давать. К модерации отношения не имеет.

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

Чем опасно давать лишние права

Бот управляется через секретный токен. Любой, кто получит токен, получает полный контроль над ботом — и над всеми правами, которые вы ему выдали. Telegram прямо рекомендует хранить токен в защищённом месте и передавать только тем, кому доступ действительно нужен.

Если у бота с утёкшим токеном были административные права, злоумышленник сможет массово удалять сообщения, банить участников, создавать пригласительные ссылки, закрепить мошенническое сообщение и — при наличии can_promote_members — менять состав администраторов. Последнее превращает разовую утечку в потерю чата.

В крупном сообществе роли лучше разделять: отдельный бот для модерации, отдельный для заявок, отдельный для публикаций. Тогда компрометация одного токена не открывает доступ ко всем операциям.

Полезная мелочь, которую редко делают: бот должен сам проверять свои права после добавления в чат и перед критическим действием, а при нехватке — писать конкретно. Сообщение «Не могу удалять спам: включите право „Удаление сообщений“» экономит час переписки по сравнению с «Произошла ошибка».

Как добавить и настроить бота

Последовательность одинакова для готового бота и для своего.

Шаг 1. Добавить в группу

Откройте настройки группы и добавьте бота участником. Если модерация нужна для комментариев канала — добавляйте его в связанную группу обсуждений, а не в сам канал.

Шаг 2. Назначить администратором

Включите удаление сообщений и блокировку пользователей. Приглашение пользователей — только если планируются заявки на вступление. Остальные права оставьте выключенными.

Это же отвечает на самый частый вопрос «почему бот не видит сообщения». По умолчанию боты в группах работают в режиме конфиденциальности и получают только адресованные им сообщения — команды и ответы. Бот, назначенный администратором, получает обычные сообщения группы, нужные для модерации.

Шаг 3. Запустить в теневом режиме

Несколько дней бот только анализирует сообщения, отмечает предполагаемые нарушения и присылает отчёт администраторам, ничего не удаляя. Это самый недооценённый шаг: почти всегда выясняется, что часть правил ловит нормальные сообщения. Разобраться с этим до того, как бот начнёт банить живых людей, гораздо дешевле.

Шаг 4. Задать правила и исключения

Минимальный набор: лимит сообщений, политика ссылок, список стоп-слов, время на капчу, количество предупреждений, длительность мута. Исключения нужны сразу — для владельца, администраторов, доверенных участников, партнёрских доменов, системных сообщений и связанного канала. Без списка исключений первым забаненным обычно оказывается кто-то из своих.

Шаг 5. Включать санкции постепенно

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

Как работает антифлуд

Антифлуд ограничивает частоту и повторяемость сообщений. Бот считает сообщения пользователя за отрезок времени и применяет санкцию при превышении лимита — например, не больше пяти сообщений за десять секунд.

Счётчик частоты закрывает основную часть задачи, но одного его мало. Дополнительно проверяют повторяемость: один и тот же текст, отправленный десять раз подряд, формально может не превышать лимит, но остаётся флудом. Такие же сигналы — серии однотипных пересылок и массовые упоминания участников.

Санкция должна расти постепенно: первое нарушение — удаление и предупреждение, повторное — короткий мут, дальше длиннее. Мгновенный бан за превышение счётчика чаще всего означает потерю нормального участника, который просто разговорился.

Антиспам и фильтры по словам

Антифлуд смотрит на количество, антиспам — на содержание и цель: реклама, мошеннические ссылки, продвижение, массовые рассылки. Это разные механизмы, и обычно нужны оба.

Почему простой список слов не работает

Поиск точного совпадения обходится за секунды. Вместо слова «реклама» спамер напишет «р е к л а м а», «рекл.ама», «РЕКЛАМА» или подменит русские буквы визуально похожими латинскими и греческими — на вид текст тот же, для фильтра это другая строка.

Поэтому перед проверкой текст нормализуют: приводят к единому регистру, убирают лишние пробелы и невидимые Unicode-символы, заменяют похожие символы стандартными, раскрывают скрытые ссылки, склеивают слова, разбитые точками и пробелами. Проверять надо и подпись к медиа, а не только текст сообщения.

И обратная сторона: к любому списку стоп-слов нужны исключения. Слово из чёрного списка часто встречается внутри нормальных слов и в цитатах — без белого списка фильтр начнёт удалять осмысленные сообщения.

Ссылки

Запретить все ссылки — рабочий вариант для небольшого чата. Гибче другой подход: разрешить доверенные домены и блокировать остальные, а перед удалением проверять статус отправителя, чтобы администраторы могли публиковать что угодно. Отдельно стоит учитывать сообщения от имени каналов — Telegram даёт отдельный метод блокировки канала-отправителя в супергруппе.

Капча на вход

Капча отсекает автоматические входы, но не заменяет проверку первых сообщений: живой спамер её пройдёт.

Для обычного чата хватает простой кнопки: новый участник нажимает её в течение отведённого времени, иначе удаляется. Для публичной группы с постоянными атаками надёжнее заявки на вступление — тогда человек вообще не попадает в чат до одобрения, и спам не успевает появиться. Для сложной проверки используют отдельного бота с Mini App, который показывает задание до принятия решения.

Чем жёстче капча, тем больше живых людей отваливается на входе. Если чат растёт органически и атак нет, кнопки достаточно.

Модерация комментариев канала

Комментарии под публикациями канала — это сообщения в связанной группе обсуждений. Поэтому бота добавляют администратором именно туда; в самом канале он бесполезен.

Правила для комментариев обычно строже, чем для обычного чата: в них чаще приходит реклама, и участники не знакомы друг с другом. Разумный набор — запрет внешних ссылок для новых пользователей, антифлуд по одной ветке и удаление сообщений от имени каналов.

Готовый бот или свой

Готового бота хватает, когда нужен стандартный антифлуд, простая капча, фильтр ссылок и базовые предупреждения в одном-двух чатах. Это большинство случаев, и здесь честнее ничего не заказывать.

Свой бот имеет смысл, когда:

  • правила нестандартные и не укладываются в настройки готового решения;
  • чатов несколько, и правила у них разные;
  • нужен свой бренд, а не чужой бот в списке администраторов;
  • журнал модерации нужен у себя, а не в чужом сервисе;
  • требуется своя логика: репутация участников, очередь ручной проверки, апелляции;
  • модерация должна быть связана с CRM, сайтом или платным доступом.

Если ни один пункт не подходит, готового бота достаточно.

Сколько стоит свой бот-модератор

Простой модератор9 990 ₽. Антифлуд, фильтр ссылок, стоп-слова, предупреждения, муты и баны, капча. Срок — 1–2 дня.
Установка на серверВходит в цену. Разворачиваю и запускаю под ключ, включая теневой режим на старте.
ОплатаРазовая, без абонентской платы.
Что оплачивается отдельноТолько сервер, на котором бот работает.
Сложные сценарииВеб-панель, AI-анализ сообщений, репутация участников, апелляции, много сообществ — обсуждаются отдельно.

На оценку влияет не количество правил, а логика: сколько чатов, нужна ли панель управления для не-программистов, требуется ли ручная очередь и разбор апелляций, есть ли интеграции. Начинать почти всегда стоит с простой версии — по журналу за первые недели становится понятно, что действительно нужно, а что казалось нужным.

Частые ошибки при настройке

  • Сразу включить автоматические баны. Без теневого прогона правила почти гарантированно задевают нормальных участников. Сначала наблюдение, потом санкции.
  • Дать боту все права разом. Обычно это делают «чтобы точно работало». При утечке токена цена такого решения максимальна.
  • Список стоп-слов без нормализации. Фильтр обходится за секунды и создаёт ложное чувство защищённости.
  • Забыть про исключения. Первым под санкции попадает администратор или постоянный участник.
  • Одинаковые правила для чата и комментариев канала. В комментариях аудитория другая и спама больше.
  • Нет журнала действий. Когда участник приходит с претензией, нечем проверить, за что именно его ограничили.
  • Нет мониторинга. Бот падает, спам идёт, узнаёте вы об этом от участников.
  • Не оговорена передача проекта. Бот работает, но исходников, доступов и инструкции у вас нет. Состав передачи фиксируется до начала работ.

FAQ

Что такое бот модератор чатов?

Это Telegram-бот, который читает сообщения группы и автоматически применяет заданные правила: удаляет спам и ссылки, ограничивает флуд, выдаёт предупреждения, временно запрещает писать или банит нарушителя. Правила задаёт владелец чата, встроенной функции модерации в Telegram нет.

Какие права нужны боту-модератору?

Для обычной модерации хватает двух: «Удаление сообщений» (can_delete_messages) и «Блокировка пользователей» (can_restrict_members). Право приглашать пользователей нужно только для заявок на вступление. Право назначать администраторов давать нельзя.

Почему бот не видит сообщения в чате?

Чаще всего он не назначен администратором. По умолчанию боты в группах работают в режиме конфиденциальности и получают только адресованные им сообщения. Другие причины: бот добавлен не в ту группу, неверно настроен webhook или не запрошены нужные типы обновлений.

Чем антифлуд отличается от антиспама?

Антифлуд смотрит на количество и скорость: сколько сообщений человек отправил за отрезок времени и не повторяет ли одно и то же. Антиспам смотрит на содержание и цель — рекламу, мошеннические ссылки, массовые рассылки. Нужны обычно оба.

Работает ли фильтр по запрещённым словам?

Только вместе с нормализацией текста. Поиск точного совпадения обходится через пробелы, точки и похожие символы. Фильтр должен приводить текст к единому виду, раскрывать скрытые ссылки и убирать невидимые символы, а к спискам слов обязательно нужны исключения.

Может ли бот удалять старые сообщения?

Метод удаления в Bot API применяется к сообщениям не старше 48 часов. Более старые придётся убирать вручную.

Может ли бот выдать временный мут?

Да. В супергруппе можно временно запретить отправку текста, фотографий, файлов, голосовых и других типов контента на заданный срок.

Может ли бот модерировать комментарии канала?

Да, но добавлять его нужно в связанную группу обсуждений, а не в сам канал. Комментарии к публикациям — это ветки сообщений именно в этой группе.

Может ли бот проверить возраст аккаунта?

Стандартный Bot API не передаёт дату регистрации. Бот знает только, когда пользователь впервые появился в обслуживаемом чате, — по этому признаку и строят ограничения для новичков.

Какая капча лучше?

Для обычного чата — простая кнопка. Для публичной группы с постоянными атаками — заявки на вступление, тогда человек не попадает в чат до одобрения. Для сложной проверки — отдельный бот с Mini App.

Заменяет ли бот живого модератора?

Нет. Он снимает рутину и мгновенно останавливает очевидные нарушения. Спорные конфликты, апелляции и контекстные ситуации должен разбирать человек.

Можно ли запустить бота без автоматических банов?

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

Сколько стоит свой бот-модератор?

Простой модератор — 9 990 ₽, срок 1–2 дня. Установка и запуск на сервере входят в цену. Оплата разовая, без абонентской платы; отдельно оплачивается только сервер.

Что будет, если сервер временно недоступен?

Бот не обработает новые сообщения, и спам пройдёт. Поэтому нужны мониторинг, автоматический перезапуск и очередь событий, чтобы после восстановления бот разобрал накопившееся.

Читать также

Чат растёт быстрее, чем вы успеваете чистить?

Соберу бота-модератора под правила вашего чата

Простой модератор — 9 990 ₽, запуск за 1–2 дня, установка на сервере входит в цену. Стартуем с теневого режима: сначала смотрим, что бот поймал бы, и только потом включаем санкции. Расскажите, что чаще всего приходится удалять руками.

Обсудить бота-модератора