Антиспам-бот @Quasar_Anti_bot
Бот убирает спам из Telegram-групп. Уверенный спам он удаляет сам, а в сомнительных случаях спрашивает вас. Ниже: как подключить его за пять минут, что значат его сообщения и что делать, если он ошибся.
🤔 Что бот делает
Каждое новое или отредактированное сообщение в группе бот отправляет на оценку модели Jev и получает в ответ вероятность того, что это спам, от 0 до 1. Дальше возможны три исхода:
| 📊 Вероятность | 🤖 Что делает бот |
|---|---|
| 0.81 и выше | Удаляет сообщение сам и пишет об этом в служебный чат |
| от 0.60 до 0.81 | Ничего не удаляет, присылает админам карточку с кнопками: решаете вы |
| ниже 0.60 | Молчит |
Что бот считает спамом:
- скрытую рекламу и «пишите в лс»;
- продвижение чужих ботов, каналов и приложений;
- крипту, казино, ставки, «заработок без вложений»;
- фишинг и фальшивую «поддержку»;
- вербовку на подработку;
- массовые упоминания;
- приманки через профиль (пустое сообщение, а реклама в био);
- спам, разбитый на несколько сообщений подряд.
Кого бот не трогает: админов группы, анонимного админа, канал, привязанный к группе, партнёров из белого списка и себя самого.
Чего бот не видит: содержимое фото и видео. Он читает только текст, подписи к медиа и профиль автора.
🔌 Подключение за пять минут
- Добавьте @Quasar_Anti_bot в группу.
- Сделайте его админом с двумя правами: «Удаление сообщений» и «Блокировка пользователей». Другие права ему не нужны.
- Напишите в группе
/status. ОтветActive: I can analyze and delete spam here.значит, что всё в порядке. Если пришлоNot active…, права не выданы. Служебные ответы базовой части бота пока на английском, это нормально. - Заведите служебный чат: закрытую группу, где сидят только админы. Подойдёт и уже существующая. Добавьте туда бота; если писать в этом чате могут все участники, делать его админом не нужно.
- В основной группе отправьте
/link. Бот ответит кодом. В течение 10 минут отправьте/link КОДуже в служебный чат. Ответ «✅ Связано: …» значит, что связка готова.
Код из пятого шага виден всем в группе, и это не страшно: применить его может только админ этой группы.
Без служебного чата бот тоже работает, но наполовину: уверенный спам удаляет, а сомнительные сообщения пропускает молча, и журнала удалений с кнопкой «Ошибка» у вас не будет.
Один служебный чат может обслуживать несколько групп. Карточки подписаны названием группы, откуда пришло сообщение.
🤝 Партнёры
Партнёры — это дилеры, сервисы и проверенные продавцы, которым разрешено писать коммерческие посты. Бот их сообщения вообще не проверяет.
| ⌨️ Команда | Что делает |
|---|---|
/partner | Ответом на любое сообщение человека: сделать его партнёром |
/unpartner | Ответом на сообщение: убрать из партнёров |
/partners | Показать список партнёров этой группы |
Важно знать:
- Команды работают только у админов группы.
- Партнёр привязан к аккаунту, а не к имени. Если человек пишет с двух аккаунтов, добавьте оба.
- У каждой группы свой список.
- Если аккаунт партнёра взломают, бот не заметит спама с него. Добавляйте только тех, кому доверяете, и чистите список, когда сотрудничество заканчивается.
🃏 Карточки в служебном чате
🟡 Спорное сообщение
Приходит, когда бот сомневается. Выглядит примерно так:
🟡 Спорное сообщение · Клуб владельцев
👤 @ivan_seller
📊 direct_contact_solicitation · 0.72
Есть в наличии вся оригинальная оптика, пишите в лс
Под ним три кнопки:
- 🗑 Удалить удаляет сообщение в группе.
- ✅ Оставить ничего не трогает, просто закрывает карточку.
- ⛔ Удалить и забанить удаляет сообщение и блокирует автора. Если сообщение написано от имени канала, этой кнопки нет.
🗑 Удалено автоматически
Приходит после каждого автоудаления. Под ним одна кнопка, ↩️ Ошибка, на случай если бот удалил нормальное сообщение. Тогда бот публикует текст в группе от своего имени:
↩️ Восстановлено модератором. Сообщение от @ivan_seller:
…текст сообщения…
Вернуть само удалённое сообщение Telegram не позволяет, поэтому бот повторяет его текст и указывает автора.
Как работают кнопки
- Нажимать могут только админы той группы, откуда пришло сообщение. Остальные увидят «Только для админов группы».
- После нажатия карточка обновляется: в ней видно, что решили и кто. Второе нажатие ответит «Уже решено».
- Если у бота отобрали права в группе, он ответит «Не получилось: проверьте права бота в группе», а карточка останется активной. Верните права и нажмите ещё раз.
- Текст в карточках хранится 7 дней. После этого «Ошибка» уже не сможет его восстановить.
Что значат сигналы
В строке 📊 бот пишет, какой признак спама сработал сильнее всего. Самые частые:
| 🏷 Сигнал | По-человечески |
|---|---|
direct_contact_solicitation | «Пишите в лс», зазывание в личку |
direct_response_advertising | Прямая реклама с ценой или призывом купить |
unsolicited_promotion | Непрошеная реклама товара или услуги |
bot_promotion | Продвижение бота или мини-приложения |
standalone_link_promotion | Ссылка без контекста, чтобы на неё перешли |
unsolicited_telegram_invite_funnel | Зазывание в другой чат или канал |
scam_or_phishing | Мошенничество, фальшивая поддержка, кошельки |
easy_money_bait | «Заработок без вложений» |
gambling_promotion | Казино и ставки |
profile_bait | «Загляни в мой профиль» |
multi_message_spam | Реклама, разбитая на несколько сообщений |
📊 Статистика
Команда /stats в служебном чате показывает итоги за 7 и 30 дней по всем связанным группам:
📊 7 дней: удалено 42, спорных 9 (удалено 5 / оставлено 3 / бан 1), отмен 1 (2.4%)
📊 30 дней: удалено 170, спорных 31 (удалено 18 / оставлено 11 / бан 2), отмен 3 (1.8%)
Главная цифра — доля отмен: сколько автоудалений админы отменили кнопкой «Ошибка». Если она стабильно выше 2%, бот ошибается слишком часто. Напишите нам, и мы подстроим порог под ваш чат.
🔒 Что бот знает и хранит
- На оценку в TypeSafe (разработчик модели Jev) уходит текст сообщения и до 10 предыдущих сообщений того же автора за последние 10 минут, чтобы ловить спам, разбитый на части. Для коротких сообщений к ним добавляются био автора и описание его личного канала, если Telegram их показывает. TypeSafe заявляет, что не обучает модели на запросах клиентов.
- На нашем сервере хранятся тексты из карточек (7 дней, потом стираются автоматически), список партнёров (id и имя), связки групп со служебными чатами и счётчики для
/stats. - В логах сервера текстов сообщений, имён и юзернеймов нет.
❓ Частые вопросы
Бот удалил нормальное сообщение. Нажмите «↩️ Ошибка» под записью в служебном чате, и текст вернётся. Если это повторяется с одним и тем же человеком, напишите нам пример: так мы настраиваем порог.
Спам прошёл мимо. Так бывает: на наших замерах бот ловит примерно 7 рекламных сообщений из 10 и почти никогда не трогает нормальные. Мы сознательно настроили его осторожным: лучше пропустить спам, чем удалить живое сообщение. Пропущенное удалите вручную и, если не трудно, пришлите пример.
Бот удаляет сообщения админов? Нет, админов он не проверяет совсем.
Я назначил нового админа, а бот его не узнаёт. Бот обновляет список админов примерно раз в 5 минут.
Человек отредактировал сообщение. Бот проверит его заново. Карточка на одно сообщение приходит одна, сколько бы его ни правили.
Что если сервис оценки недоступен? Бот просто пропускает сообщения, пока сервис не вернётся: ничего не удаляет и чат не блокирует.
Почему /status отвечает по-английски? Базовая часть бота досталась от автора оригинала. Наши команды и карточки — на русском.
Как отключить бота? Снимите с него права админа или удалите из группы.
📞 Если что-то не так
Напишите в Quasar Studio. Чтобы мы разобрались быстрее, приложите название группы, примерное время и скриншот карточки или сообщения.