Как я написал антиспам-бота (TAB) для Telegram на собственной нейросети. lstm.. lstm. python.. lstm. python. антиспам.. lstm. python. антиспам. боты.. lstm. python. антиспам. боты. Машинное обучение.. lstm. python. антиспам. боты. Машинное обучение. нейросети.. lstm. python. антиспам. боты. Машинное обучение. нейросети. пет-проект.. lstm. python. антиспам. боты. Машинное обучение. нейросети. пет-проект. телеграм-боты.. lstm. python. антиспам. боты. Машинное обучение. нейросети. пет-проект. телеграм-боты. телеграм-каналы.
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

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

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

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

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

чсс

Автор: Lancet52

Источник