Документация celebro_antispam_bot
Telegram-бот и веб-админка для модерации групп: фильтр спама, разбор заявок на вступление, санкции, стоп-фразы и настройки под каждую группу.
Что это
celebro_antispam_bot — связка бота в Telegram и панели на сайте. Бот в Telegram: @celebro_antispam_bot; панель и эта документация — тот же продукт.
Бот сидит в группе как администратор и автоматически режет спам, проверяет заявки, шлёт приветствия и выполняет модераторские команды. Панель нужна для разбора очереди заявок, просмотра сообщений, участников, санкций, логов и тонкой настройки правил.
- Вход: email/пароль или Telegram Login Widget.
- После логина открывается раздел «Группы».
- Все действия бота пишутся в логи модерации группы.
- Интерфейс панели: русский / English / Español, светлая / тёмная / системная тема.
-
Банлисты CAS и Lols,
защита от каналов
(
banChatSenderChat), обязательная подписка на канал, «умная» / жёсткая капча (эмодзи / математика / цифры), разрешённая soft-реклама по дням и тематикам, мут за маты, фильтр нарко-рекламы, чистка join-notices после approve по заявке, пресеты и копирование настроек между группами, wizard после/enable,/groupв ЛС, opt-in сеть банов celebro, команды/check,/info,/report.
Зачем это владельцу сети групп
- Join-desk в вебе — очередь заявок с risk score, bulk approve/decline, ЛС-алерты с кнопками — не нужно жить в чате.
- Быстрый старт — пресеты (ЖК / маркет / тихий / агрессивный), копирование политики на другие чаты, wizard в Telegram после первого включения бота.
-
Контроль из ЛС —
/group N: pending, статус, вкл/выкл капчи без панели. - Сеть без чужих чёрных списков — opt-in shared bans между вашими группами; CAS/Lols — как внешние банлисты рядом.
- Честный freemium — 1 группа любого размера бесплатно + все группы до 5 000 человек (см. Тариф).
Быстрый старт
-
Зарегистрируйтесь на сайте или войдите через Telegram.
Новые пользователи получают роль владельца (
owner). -
В разделе Аккаунт привяжите Telegram
(кнопка ссылки открывает бота с кодом
/start link_…). Без привязки бот не сможет связать вас с группами и ЛС-уведомлениями. -
Добавьте бота в группу администратором
(нужны права на удаление сообщений и бан участников).
Удобно из ЛС бота: команда
/add— Telegram предложит выбрать чат и добавит бота. -
Группа появится в админке в «Группы».
По умолчанию бот выключен
(
bot_enabled = false: автомодерация не работает, пока вы не включите его переключателем в шапке группы / во вкладке «Настройки» → «Статус бота», либо командой/enable. -
Включите бота (
/enableили переключатель в панели). В ЛС придёт короткий wizard: права, пресет, ссылка на заявки. - Во вкладке Настройки выберите пресет или скопируйте политику с другой группы, затем подкрутите флаги.
Free: 1 группа любого размера + все группы ≤5 000 участников.
Со 2-й крупной (>5 000) — заявка на тариф. Если квота исчерпана, группа может остаться
unclaimed — заберите её /claim
после расширения (см. Тариф).
Роли
| Роль | Доступ |
|---|---|
| Владелец (owner) | Свои группы: настройки, модераторы, чёрный список, тариф. Создаётся при регистрации / Telegram Login. |
| Модератор | Только назначенные чаты: заявки, сообщения, участники, санкции. Настройки группы менять не может. |
Админка
Группы
Список подключённых чатов: название, chat id, статус бота (включён / выключен), число pending-заявок, квота и setup health (бот в чате / права / включён / капча или заявки). В шапке группы — переключатель автомодерации.
Вкладки внутри группы
- Заявки — очередь join-request / challenge: risk score, сигналы, approve / decline / ban, массовые действия с прогрессом, фильтр по риску, синхронизация висящих заявок из Telegram.
- Сообщения — лента сохранённых сообщений, фильтр «только спам», тип срабатывания (spam / ads / profanity / …), история правок сообщения (версии), удаление, добавление текста в примеры стоп-фраз.
- Участники — roster, sync, ban / kick / mute / warn, promote / demote, bulk, bot-risk score, пометка «не бот», карточка участника (профиль).
- Варны — активные и история предупреждений, снятие варнов.
- Муты — активные ограничения на письмо, снятие мута.
- Баны — забаненные участники, разбан.
- Сводка — статистика за 7/30 дней: joins, spam, pending, known members, последние события.
- Доверенные — allowlist (см. ниже).
- Стоп-фразы — contains / exact / whole word / regex / example; тип: spam / мат / реклама (с тематикой); действие и область (эта группа или все группы владельца). Старые «blocklist»-листы слов мигрированы сюда — отдельного словаря blocklist больше нет.
- Логи — журнал модерации + экспорт.
- Настройки — пресеты, копирование на другие группы, статус бота, защиты, floods, welcome, night mode, shared bans и т.д.
Остальные разделы
- Модераторы — создать модератора, назначить чаты, вкл/выкл аккаунт (владелец).
- Чёрный список — пользователи, которых бот режет на входе: отклонённые боты / история банов владельца (см. флаги «Общий blacklist ботов» и «Удалять всех кого я забанил в моих группах» в настройках). Можно удалить запись из списка вручную.
- Тариф — текущая квота групп («Дополнительные группы»), заявка на расширение.
- Аккаунт — привязка Telegram, двухфакторка TOTP.
- Профиль — имя, email, пароль, удаление аккаунта через 2FA.
Вступления
Когда человек подаёт заявку в группу (или входит, если включён режим «мут до проверки»), бот считает risk score по сигналам: нет username, цифры в нике, арабский/CJK скрипт, «промо» в имени, нет аватара и др.
-
Запрос на добавление
(
join_request_required— по умолчанию включён: вход через заявку, пока не сработают ручное одобрение / капча / квиз / пороги риска. - Ручное одобрение — заявки висят во вкладке «Заявки», пока вы не решите (approve / decline / ban, в т.ч. массово).
- CAS на заявке — известный спамер сразу режется.
-
Lols
(
lols_enabled— сверка с публичной базой api.lols.bot рядом с CAS: banned на входе → decline + ban. - Автоотклонение / автоодобрение по порогам риска в настройках (0 = выкл).
-
Квиз — один или несколько вопросов подряд
(блоки через
---в настройках). Ответы в ЛС боту; при «муте до проверки» — после входа. Неверный ответ / таймаут режут всю цепочку. -
Уведомления о заявках
notify_admins_on_join— ЛС с кнопками при ручном одобрении;notify_join_risk_min(0 = все) отсекает низкий риск. -
Капча — проверка в группе в муте:
после правильного ответа мут снимается.
Типы (включаются независимо; при нескольких — случайный выбор):
эмодзи, математика (+ − × ÷), цифры.
join_captcha_hard— без эмодзи (только math/digits; если типы не выбраны — math). Лимит попыток настраивается; неверный ответ / таймаут → кик или бан (флаги). Опциональноjoin_captcha_min_risk: 0 = всем (если капча включена), иначе капча только при risk ≥ порога («умная капча»). -
Сеть банов celebro
(opt-in) —
shared_bans_contribute/shared_bans_consume: при бане за спам группа может отдавать сигнал; на заявке блок, если ≥shared_bans_thresholdразных владельцев уже сигналили (по умолчанию 2). Не путать с CAS/Lols. - Мут до проверки — для квиза: пустить сразу и проверить в группе (а не в ЛС). Для капчи кнопкой мут в группе включается автоматически.
- Anti-raid — защита от волны join-заявок (см. ниже).
- Чёрный список владельца — флаги «общий blacklist ботов» и «удалять всех кого я забанил» режут повторный вход по истории банов / отклонённых.
-
Чистка join-notice по заявке —
после approve Telegram часто не шлёт
new_chat_members(«X принят в группу»). Приdelete_join_service_messagesбот помечает pending notice, удаляетmessage_id − 1рядом с welcome/капчей, а если webhook не пришёл — шлёт короткое probe-сообщение и сносит notice отложенной джобой. - Просроченные challenge автоматически истекают (scheduler каждую минуту).
- Во вкладке «Заявки» можно синхронизировать висящие pending-заявки из Telegram, если очередь в панели разошлась с реальностью.
Дополнительно: кик чужих ботов при входе, раздельный блок арабских и китайских (CJK) ников, бан при ошибке / таймауте квиза или при автоотклонении (настраивается), уведомления админам в Telegram о новых / high-risk заявках.
Anti-raid
Если за короткое окно на группу сыпется слишком много заявок на вступление, включается временный lock: новые заявки бот отклоняет автоматически, чтобы не захлебнуться рейдом.
- По умолчанию выключено. Включается во вкладке «Настройки» → блок заявок на вступление.
-
Параметры: сколько заявок за окно (по умолчанию 15 / 60 сек), сколько минут держать lock
(по умолчанию 15), действие —
declineилиdecline + ban. -
При срабатывании админам в Telegram уходит одно уведомление. Пока lock жив, все новые заявки
режутся с типом
anti_raid. - Уже висящие Pending не чистятся автоматически — их нужно разобрать вручную во вкладке «Заявки».
Anti-raid срабатывает до CAS / Lols / квиза / порогов риска: во время lock пайплайн проверки не гоняется по каждой заявке из волны.
Антиспам
На каждое сообщение в группе (кроме доверенных и админов чата) проходит пайплайн по порядку. Многие детекторы учитывают probation: новичок (окно link-guard в часах) или первые N сообщений участника.
- CAS — глобальный чёрный список Combot →
delete_ban. -
Lols — база
api.lols.bot
→
delete_ban(флагlols_enabled, по умолчанию вкл). -
Обязательная подписка на канал
(
require_channel) — отдельный канал (не id этой группы): пока пользователь не подписан на указанный @channel / id, сообщение в группе удаляется (бот должен быть админом того канала; пусто = выкл). - Сообщения от каналов / пересылки из каналов (если флаги включены) — см. Каналы в чате.
- Flood: сообщения, стикеры, форварды, эмодзи — по лимитам окна → действие flood (по умолчанию
delete_mute). - Стоп-фразы (spam / мат / реклама / нарко-пример): contains / exact / whole word / regex / example. Тип «мат» при включённом «Мут за маты» идёт в эскалацию варнов → мут, а не в обычный action фразы.
-
Мут за маты
(
profanity_mute_enabled— встроенный словарь + стоп-фразы «мат»: N предупреждений (сообщение удаляется), затем мут 1 ч; повтор после мута → мут 24 ч. Банов нет. - Шаблоны scam (типовые мошеннические формулировки: отзывы / «курьер»).
- RU scam families (ЛС-рекрутинг, инвестиции, казино, adult, fake support, giveaway).
-
Нарко-реклама: правила
(
drug_ad_enabled) и опционально LLM (drug_ad_llm_enabled(fail-open без ключа / при timeout). - Soft-реклама по тематикам (вакансии, услуги, продажа, …) — режется или пропускается по дням / режимам / «любая кроме нелегальной». Короткие объявления услуг у «ограниченных» участников — как flood-action, иначе чаще только лог. Резюме / «ищу работу» без явной вакансии обычно не режутся как ads.
- Дубликаты сообщений (порог / окно).
- Mass-mention у новичков / на probation (порог упоминаний).
- Защита от ссылок у новичков / на probation.
- Защита от медиа без подписи у новичков: по умолчанию пометка + алерт админу; удаление — только у рискованного профиля (нет username/аватара и т.п.).
- Message risk score — soft (лог) / hard (flood-action) по профилю, ссылкам, money/DM CTA, caps, emoji и т.д.
Возможные действия правила:
log_only— только логwarn— предупреждение (с эскалацией по лимиту)delete— удалить сообщениеdelete_mute— удалить + мут (по умолчанию 60 мин)delete_ban— удалить + бан
Админам в ЛС может прийти уведомление о срабатывании с кнопками review: false-positive → в доверенные, либо добавить в чёрный список группы; для рекламы/мата — быстрые ответы «не реклама» / «не мат».
Разрешённая реклама (soft ads)
По умолчанию soft-объявления (вакансии, услуги, продажа и т.п.) режутся или помечаются как подозрение. Если в чате нужны «дни рекламы» — включите блок во вкладке «Настройки» → Антиспам.
-
Реклама разрешена
ads_allowed_enabled— мастер-флаг. Без него дни недели и «любая реклама» не пропускают soft-ads. -
Дни недели
ads_allowed_weekdays— в какие дни действует режим «в дни рекламы». Пустой список = ничего не пропускать. -
Любая реклама кроме нелегальной
ads_allow_any— в отмеченные дни пропускает soft-объявления любой тематики (режимы тематик скрываются / не нужны). Скам, нарко, CAS, стоп-фразы — по-прежнему режутся. - Режимы тематик (если «любая» выкл): для каждой темы — Выкл (резать), В дни рекламы (только выбранные weekdays), Всегда (при включённом мастер-флаге, любой день). Пустые режимы = все темы «в дни», как раньше.
- Тематики: вакансии, недвижимость, авто, животные, обучение, услуги, продажа, локальный бизнес.
Soft-ads ≠ легализация скама: «пиши в ЛС, заработок», нарко-шаблоны, CAS/Lols и ваши стоп-фразы работают независимо от дней рекламы.
Доверенные
Allowlist во вкладке «Доверенные»: scope — эта группа или все группы владельца. Участника можно найти по имени, @username или Telegram ID.
- Сообщения не проверяются антиспамом (CAS, Lols, флуд, стоп-фразы, скам-шаблоны, ссылки и т.п.) — бот их не удаляет и не глушит.
- При вступлении их не банит автокик ботов / отклонённых / «забаненных владельцем».
- Админы и создатель группы считаются доверенными автоматически — отдельно добавлять не нужно.
- Капча и ручные санкции из панели / команд модерации на них всё ещё действуют.
Команды бота
В личке с ботом
/start— справка; payloadlink_…привязывает аккаунт/groups(или/list) — список групп-
/group <N|chat_id>— статус одной группы: бот вкл/в чате, pending-заявки, капча, ссылка на очередь; кнопка вкл/выкл капчи (если есть право на настройки). /add(или/addgroup) — выбрать чат и добавить бота-
/enable(или/on) — включить автомодерацию; в ЛС:/enable <номер из /groups>. После включения — короткий wizard (права, пресет, ссылки). /disable(или/off) — выключить автомодерацию/remove(или/exclude,/leave) — исключить группу/panel(или/admin,/url) — ссылка на админку
В группе
-
/check(или/status) — диагностика: вы админ, права бота (delete / ban-restrict / invite), краткий статус bot_enabled / captcha / quiz / CAS / Lols / require_channel. Работает даже если автомодерация выключена. /enable//disable— вкл/выкл автомодерацию в этом чате/claim— забрать unclaimed-группу на свой аккаунт (после расширения квоты / привязки Telegram)-
/info(или/кто) — reply или tg user id: статус, дата вступления, число сообщений, verified. -
/report(также/spam,/scam) — reply на сообщение: обычный участник шлёт жалобу админам; админ/модератор сразу банит цель. /warn— предупреждение (reply или tg user id)/mute— мут (по умолчанию из настроек, обычно 60 мин)/unmute— снять мут/ban— бан (при включённом cross-chat — и в других группах владельца)/unban— разбан
Команда (и часто reply) удаляется после выполнения. Те же санкции доступны из вкладок «Участники» / «Варны» / «Муты» / «Баны».
Настройки группы
Во вкладке «Настройки» у каждого флага есть справка «?». Блоки:
- Пресеты — ЖК / сообщество, Маркет, Тихий, Агрессивный: одним кликом выставляют связку заявок / капчи / рекламы / anti-raid. Дальше можно править флаги вручную.
- Копирование настроек — применить политику этой группы к другим чатам владельца (без переноса стоп-фраз/модераторов).
- Статус бота — вкл/выкл автомодерацию. Пока выключен — правила не применяются.
-
Приветствие —
шаблон (
{mention},{name},{username},{groupName},{botName}), автоудаление через N секунд. -
Заявки —
запрос на добавление, ручное одобрение, квиз, капча
(эмодзи / math / digits,
join_captcha_hard, порогjoin_captcha_min_risk), мут до проверки, anti-raid, пороги риска, бан при ошибке / таймауте / автоотклонении. См. раздел «Вступления». -
Сеть банов —
делиться сигналами / блокировать по сети / порог владельцев
(
shared_bans_*. - Предупреждения и мут — лимит варнов, TTL, эскалация, длительности mute/warn-mute, мут за маты (словарь + эскалация warn → mute 1ч → mute 24ч), бан во всех группах (cross-chat), «удалять всех кого я забанил».
-
Антиспам —
CAS, Lols, обязательная подписка на канал (
require_channel), blacklist ботов, link/media guard, scam / service-offer / RU families / message risk, нарко-реклама (правила + опционально LLM), разрешённая soft-реклама (дни / тематики / «любая кроме нелегальной»), дубликаты, каналы, кик ботов, арабские/CJK ники, floods, first-N, mass-mention. -
Системные сообщения —
удаление join / leave / прочих service-сообщений Telegram с задержкой.
Join-by-request notices («принят в группу») чистятся даже если Telegram не прислал
new_chat_members. - Уведомления — о заявках и high-risk (порог риска для нотификации).
- Slow mode / ночной режим — ограничение права писать ночью по часам; slow mode в секундах.
Тариф
Free: 1 группа любого размера — бесплатно навсегда; дополнительные группы до 5 000 человек — тоже бесплатно. Со 2-й крупной группы (>5 000) — тариф ниже (заявка → ручное согласование). Фичи бота одинаковые на всех тарифах.
| Тир | Участники | Цена / группа / мес |
|---|---|---|
| Free | 1 группа любого размера + группы до 5 000 | 0 ₽ |
| M | > 5 000 | 199 ₽ |
| L | > 10 000 | 399 ₽ |
| XL | > 50 000 | 599 ₽ |
| XXL | > 100 000 | 1 499 ₽ |
- В разделе Тариф смотрите квоту групп, лимит участников и создавайте заявку. В комментарии укажите ссылки на чаты и нужный тир.
- Заявка обрабатывается вручную; после оплаты поднимаем квоту и/или лимит участников.
-
Если группа уже добавлена, но квоты или размера не хватило, она может остаться
unclaimed.
После расширения тарифа выполните в группе
/claim. - Если бесплатная группа выросла сверх лимита — бот продолжает работать, но в панели и в ЛС появится напоминание оставить заявку на апгрейд.
Рядом с другими ботами
- vs Lols: у нас веб-панель заявок, пресеты и политика soft-рекламы; Lols сильнее как «поставил и забыл» NN. Можно держать оба: мы читаем Lols API.
- vs Rose: Rose — команды и locks в чате; celebro — очередь заявок, риск-скоринг и сеть групп владельца в вебе.
- рядом с Combot: Combot — аналитика комьюнити и CAS-сеть; мы — операционный слой join-desk + антиспам. CAS используем как банлист.
- vs Shieldy: Shieldy — только капча на входе; у нас полный пайплайн после входа + заявки + дайджесты.
Быстрый старт: пресеты в настройках группы, wizard после первого /enable в Telegram, /group N — статус и капча без веба. Opt-in сеть банов celebro — в настройках «Делиться / Блокировать по сети».
CAS и Lols
celebro_antispam_bot сверяет пользователей с двумя публичными банлистами (на заявках и в пайплайне сообщений):
-
CAS
(
cas_enabled— Combot Anti-Spam по Telegram user id. -
Lols
lols_enabled— api.lols.bot (GET /account?id=→banned. По умолчанию включено (как CAS).
При срабатывании: на заявке — decline + ban; в чате — delete + ban
(delete_ban.
Ответы кэшируются (TTL из config/antispam.php).
При коммерческом использовании CAS указывайте «Powered by CAS» (как в футере админки).
Каналы в чате
В Telegram участник может писать от имени канала
(sender_chat — типичный спам-паттерн.
-
Блокировать сообщения от каналов
block_channel_messages— удаляет сообщение и банит канал в группе черезbanChatSenderChat(канал больше не сможет писать от своего имени, пока его не разбанят). -
Посты привязанного discussion-канала
и автофорварды
is_automatic_forwardне трогаются. -
Блокировать пересылки из каналов
block_channel_forwards— ручные форварды из каналов; автопосты linked channel снова пропускаются. -
Обязательная подписка
require_channel— отдельный gate на другой канал (не путать с id этой группы): писать здесь можно только после подписки на указанный @channel / id; пусто = выкл (см. антиспам-пайплайн).
Боту нужны права админа с удалением сообщений и restrict/ban. Для
require_channel
бот также должен видеть участников целевого канала (обычно admin там).