惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Last Week in AI
Last Week in AI
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
宝玉的分享
宝玉的分享
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园 - 聂微东
S
SegmentFault 最新的问题
博客园 - 司徒正美
罗磊的独立博客
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
小众软件
小众软件
Jina AI
Jina AI

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Как я написал антиспам-бота (TAB) для Telegram на собстве...
Lancet52 · 2026-04-28 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение3 мин

Охват и читатели0

Telegram Antispam Bot (TAB)

Telegram Antispam Bot (TAB)

Привет, Хабр!

Решил наконец-то рассказать о проекте, который уже полгода живёт в тени моего личного репозитория. Речь пойдёт о боте для борьбы со спамом в Telegram‑чатах. Это не просто «очередной антиспам бот», а решение, которое я писал с нуля, включая архитектуру нейросети для классификации текстов.

Забегая вперёд: бот бесплатный и открытый к тестированию. И он работает. Но обо всём по порядку.

Зачем мне все это?

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

Архитектура

Я не стал брать готовые модели с HF. Решил собирать датасет и написать структуру нейросети сам, взяв за основу LSTM. Сети этой группы хорошо учитывают контекст, а прикрутив механику внимания получается уже трансформер на минималках. Для задачи бинарной классификации сообщений из чата думаю это отличный вариант, с учётом что мощности для обучения ограничены.

Набор данных (датасет)

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

Лайфхак, который сэкономил время: я добавил в интерфейс бота кнопку «✅ Это не спам». Когда модератор нажимает её, сообщение автоматически попадает в датасет с пометкой «ложное срабатывание». Так модель набирает знания для дообучения. Сейчас датасет состоит из более чем 25 000 сообщений.

Как бот работает в чате.

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

Бот поддерживает два режима:

  • Стандартный (по умолчанию): сообщение проходит через нейросеть — если классифицируется как «спам» и пользователь в базе спамеров, то бот автоматически удаляет сообщение и банит пользователя. Если пользователь не в базе спамеров, то бот помечает сообщение и зовёт модераторов на принятие решения. Модератор решает: банить или отпустить. Решение сохраняется для дообучения.

  • Автоматический: сообщения удаляются сразу при обнаружении спама. Бан пользователя происходит только если он уже в спамбазе + сообщение распознано как спам.

Команды для пользователей:

/spam — пожаловаться на сообщение

/handbot / /autobot — смена режима (только для админов чатов)

Немного статистики.

Бот работает с 25 мая 2025 года. Ниже представлена свежая статистика на момент написания статьи.

Статистика работы бота

Статистика работы бота

С какими проблемами столкнулся

  • Ручная разметка. Это медленно, трудозатратно. В планах как то автоматизировать этот момент.

  • Постоянная смена стратегии атаки. Спамеры пишут «нyжны» с латинской y, «вαс» с греческой α, вставляют пробелы между буквами. Также меняется подача сообщений, смена контекста и смысла сообщения.

В планах сделать публичных дашборд со статистикой в реальном времени.

Как попробовать

Если хотите протестировать бота в своём чате:

  1. Найдите @tantispam_bot в Telegram

  2. Добавьте его в группу и дайте права администратора на удаление сообщений и на бан.

  3. Готово! Бот начнёт работать в стандартном режиме

Официальный канал с обновлениями: t.me/tantispam

Бот полностью бесплатный. Это пет‑проект, и для меня важна обратная связь от вас)

Вместо заключения

Я не позиционирую это решение как «убийцу всего спама». Есть более совершенные инструменты. Для меня это рабочий инструмент, который я допиливаю в свободное время.

Если тема интересна задавайте вопросы в комментариях.

чсс