😎 Антиспамбот в Telegra**m: как внутренний инструмент стал продуктом**
Коллеги, у меня есть канал @studyqa на 150k подписчиков (+ чат на 3.7k человек). Если у вас есть хоть сколько-нибудь большой канал, вы знаете эту боль: "есть тема, го в ЛС", "12к в день", "нужно 2-3 человека, ставь + в ЛС".
Десятки таких сообщений каждый день. Ночью — копятся без фильтрации. Можно нанять модератора (от 30k руб/мес). Но мы же тут оптимизируем. Поэтому пытались справляться командой: кто первый увидел спам — тот и заблочил. Однако спамеры адаптируются быстрее людей.
🧿Как появился бот Мой разработчик написал внутренний инструмент для наших каналов — "StudyQA Spam Checker". Простой бот, который фильтровал очевидный спам по стоп-словам. А потом кто-то посторонний добавил нашего бота в свой канал. И он начал фильтровать спам там тоже.
"Пора брать деньги?" — подумал я. Так внутренний инструмент стал продуктом.
🧿Три слоя фильтрации
- Скоринг. Суперадмины добавляют образцы спам-фраз в базу. Каждое входящее сообщение сравнивается с образцами.
- Антидубликаты. Нормализация текста + fuzzy matching. Спамер отправил одно и то же в 3 ветки за 10 минут? Бот ловит, даже если текст немного изменён. Обнаружил "залп" из 3 сообщений за 2 минуты — банит навсегда
- Поведенческий анализ. Новичок в чате (<24 часов) — пороги строже. Ссылка на личный канал в профиле — дополнительный сигнал. AI-скоринг по маркерам: "быстрый заработок", "в ЛС", "от 16 лет"
При срабатывании: спам удаляется, пользователь банится. В закрытую админ-группу падает лог с кнопками "Разбанить / Белый список" — на случай ошибки.
🧿** Грабли** Первые версии банили реальных людей. Человек пишет "подскажите кто-нибудь по заработку во время учёбы" — и улетает в бан. Пришлось долго калибровать пороги.
Ещё проблема — спамеры учатся. Каждые пару месяцев появляется новый паттерн, который обходит правила. Но в этом и преимущество нашего бота: добавил новые образцы в админку — бот сразу их учитывает. Без деплоя, без перезапуска. Пробуйте, это бесплатно: @SpamAwayOnlineBot
В следующем посте — цифры: сколько стоила разработка и как бы я поступил сегодня. Работаем дальше.