TAntispam Bot Блог разработчика
31 subscribers
15 photos
6 links
🛡 Официальный канал TAntispam Bot (TAB)
Новости разработки, обновления и руководства по защите чатов от спама.

🤖 Бот: @tantispam_bot
Download Telegram
Год подходит к концу, а значит самое время подвести итоги!

ЧАСТЬ 3. Тепловая карта спама по дням недели и времени суток.

Видно, что основная активность спамеров это дневное время с 6 до 15 по Москве. Можно ли сделать вывод, что сервисы которые рассылают спам ориентируются на аудиторию Центрального Федерального округа? Вопрос риторический...
Год подходит к концу, а значит самое время подвести итоги!

ЧАСТЬ 4. Тематическое моделирования. Топ темы спам сообщений

📌 Тип 1. «Фейковые вакансии / онлайн-подработка» - наиболее массовый спам

Общий признак:
«нужны 2 человека / 2-3 человек(а)», «всё с телефона», «удалёнка», «доход от X», «от 18 лет», «оплата после», «простые задачи», «пошагово», «никаких вложений».

💰 Тип 2. «Финансовый спам / кредитные ловушки»

Общий нарратив:
«устал без денег?», «помогу с долгами», «денежки нужны?», «поднять бабки», «решим проблемы».

🔗 Тип 3. «Технический спам: ссылки, каналы, боты»

Особенность: минимальный текст, много шумов, символов, замаскированных данных.

📸 Тип 4. «Обфусцированный спам» (анти-детект)
Цель - обход текстовых фильтров (в т.ч. регулярных выражений и простого поиска по ключам).

Способ маскировки:
Смешение алфавитов: нyжны (y=латинская), οт (ο=греческая omicron), вαс (α=альфа). Разрыв слов пробелами: «п о м о щ ь»

Это анализ основных типов сообщений, которые удалось отловить боту за 2025 год.
Год подходит к концу, а значит самое время подвести итоги!

ЧАСТЬ 5. ИТОГИ

Работу бота оцениваю на хорошо. Есть проблемы пропуска спама из-за дрейфа данных. Также остается проблема с ложными срабатываниями. До конца победить я это не смог. Сегодня-завтра выпущу обновленную модель, дообученную на новых данных.
На 2026 год в планах продолжать дообучать модель и создать полноценный дашборд со онлайн статистикой бота в режиме реального времени. Ну как-то так)
🔥Очередное обновление.

Январь подошел к концу, а значит пора дообучать модель!

На сегодня датасет состоит из 25000 строк (12500 пар строк спам/не спам).
Датасет я до сих пор размечаю вручную, читая каждое сообщение прежде чем присвоить ему соответствующий класс.
Это неудобно и занимает время. Поэтому я задумался над автоматизацией процесса разметки. Как что то получится - отпишусь.

По дообучению.
Модель обновилась на новых данных. Также внесены некоторые исправления в код для оптимизации.
🔥 Обновление февраля. Часть 1 (Модель)

Дообучил модель на вновь поступивших данных, среди которых 126 ложноположительных сообщений (накопившиеся за месяц).
Ниже представлены матрицы ошибок января и февраля. Тренировочный и следовательно валидационный наборы данных по сравнению с январем увеличены, а количество ложных предсказаний уменьшилось как в абсолютных значениях, так и в процентных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Матрица ошибок. Январь 2026.
Матрица ошибок. Февраль 2026
🔥 Обновления февраля. Часть 2 (Техническая)

1) Исправил ошибку связанную с неудалением спам-картинки с подписью. Бот распознавал такие сообщения, но не удалял (некоторые модераторы чатов жаловались на это). Косяк исправлен😊

2) Доделал дашборд со статистикой. В целом готов запустить в общий доступ как сайт, но пока не выбрал домен: жаба душит платить за него)

Как выглядит дашборд можете увидеть под постом👇
Please open Telegram to view this post
VIEW IN TELEGRAM
TAntispam Bot Блог разработчика
🔥 Обновления февраля. Часть 2 (Техническая) 1) Исправил ошибку связанную с неудалением спам-картинки с подписью. Бот распознавал такие сообщения, но не удалял (некоторые модераторы чатов жаловались на это). Косяк исправлен😊 2) Доделал дашборд со статистикой.…
👆 Стоит отметить, что еще в начале января Процент ложных срабатываний (отношение ложноположительных сообщений определённых моделью как "спам" к количеству всех сообщений которые обработала модель, в процентах) был равен 0.52%. (напомню, в июне 2025 он был равен 2.7%!)
Channel name was changed to «TAntispam Bot Блог разработчика»
🔥 Обновление марта.

- Модель
Дообучена на дополнительных данных, накопившихся за месяц с чатов.
Матрица ошибок на валидационном наборе представлена ниже👇. Можно сравнить визуально с февралём и январём.

- Код
Оптимизирована часть кода отвечающая за быстроту обработки запросов в БД.

- Логика
Спамеры не стоят на месте. В последние дни появился новый формат сообщений. Суть в том, что основное сообщение представляет собой ссылку на канал, но ссылку не простую, а через сущность message.external_reply. До сегодняшнего дня, данный объект не обрабатывался ботом. Теперь этот недочёт исправлен.

Выводы.
Заметно меньше стало ложных срабатываний. Датасет постоянно увеличивается и пополняется новыми примерами сообщений.
Впереди много нового ждет проект. Но об этом чуть позже в дальнейших постах 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
TAntispam Bot Блог разработчика
В последние дни появился новый формат сообщений.
Вот такая штука.
Ботом обрабатывалась только часть содержащая «Спаасибо!!!»

Таких сообщений несколько уже. Само сообщение представляет собой ссылку на канал.
Переходить не стоит
👍1
😐Сегодня ночью лёг бот...
Все оказалось банально просто: Сервер перестал общаться с телегой (я думаю тут все ясно почему).
Решение было найдено и к сегодняшнему часу бот живее всех живых!
TAntispam Bot Блог разработчика
Вот такая штука. Ботом обрабатывалась только часть содержащая «Спаасибо!!!» Таких сообщений несколько уже. Само сообщение представляет собой ссылку на канал. Переходить не стоит
Не все так просто оказалось с подобными сообщениями...

Я так и не нашел через какой объект Telegram API передается верхняя часть сообщения. Из message. text получаем только "Спасибо!!!". Верхнюю часть сообщения не видно🤷‍♂️.
Смоделировать похожее сообщение я также не смог. Поиск в интернете ничего не дал, нейронки типа qwen, cloude толкого ничего не выдают. Пытался через HTML редактор даже разбирать. Все тщетно. Не нашел объект в Telegram API который бы это описывал.

Есть конечно подозрения что это URL как то хитро вшит через message.entites но проверить я это не могу, так как не могу повторить это сообщение😐
Вот такой замкнутый круг)
🔥 Обновление. Апрель 2026

Модель.
Очередное дообучение на данных накопленных с 30.03.2026 по 30.04.2026.
Датасет увеличен и приближается к пороговой отметке в 30000 записей. Модель ведет себя более стабильно: минимизируются ложные срабатывания.

➡️Из нововведений - цветные кнопки. Начиная с версии 9.4 у Bot API Telegram это стало возможным.

Вот. Коротким получился ежемесячный отчет =)
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
Всем привет! Поддержите подпиской мой второй (более глобальный) блог на тему машинного обучения.

https://t.me/markovstate

Тематика будет перекликаться в том числе и с TAB
Сегодня с 13.00 по 21.00 бот временно не работал. Проблема была в сервере. На данный момент все починил😃
1
За этот месяц поступило много обратной связи по поводу того, что бот не реагирует на ряд спам сообщений. В ближайшее время проанализирую все и выпущу отдельный пост.
👍1
🔥 Обновление. Май 2026

Немного запоздалое обновление, обычно стараюсь сделать все к последнему дню месяца.

Итак.
1. Произведено очередное дообучение. Структура модели не изменилась. Датасет обновлен.

2. Приятно удивлен тем, что количество ложных срабатываний за май было минимальным.
Сравнить с началом года можно тут.

3. Получил обратную связь от нескольких человек на предмет игнорирования ботом части сообщений. Удивлён был тем что модель их пропускала как not spam. Включил в датасет. Но примеров сообщений немного. Задумался над синтетикой (синтетический набор данных сгенерированный нейронкой).

Итог.
Бот стабилен. Свою задачу выполняет. По всем вопросам пишите на почту:
lancetFPV@yandex.ru.
Ну либо в комменты. Всегда рад обратной связи.

======================================

Я на Хабре | Марковское состояние | TAB
👍21
Конец июня. Я наконец доделал дашборд со статистикой работы бота с 01.06.2025.

https://tab.lancetnic.ru/

Теперь она доступна вам 24/7. Дашборд висит на моем недавно запущенном сайте библиотеки LANCETNIC. Именно на ней я обучал модель нейронной сети на которой работает бот.

Что касаемо дообучения модели на последних данных. Так как за месяц бота добавили с десяток групп, то объем данных существенно вырос. Выросли и потребности в мощностях дообучения. Пока этот вопрос решаю оптимизацией кода библиотеки. Так то дообучение на паузе) Отпишусь как обновиться модель