Ерем Шахбазян › Erem01 Сбер ID
Делаю сложные задачи простыми решениями
Рейтинг
9 619
№ 113 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
5 лет
На сайте с
2025 года
Юридический статус
Самозанятый

Бот-модератор Telegram-групп: возрождение заброшенного проекта — капча, антифлуд, защита от подмены букв, бан спамеров по имени, отчёты админам

Используемые навыки Bot Development Docker Python SQLite Telegram API

Описание

Спам в Telegram-группах — постоянная головная боль: «заработок без вложений», казино, приглашения в чужие каналы, боты-накрутчики. Спамеры обходят простые фильтры, подменяя буквы: «з@работок», «kазино» с латинской k.

За основу взял открытый бот-модератор Origin Protocol (115 звёзд на GitHub), заброшенный в 2022 году. Он был написан на библиотеке для Telegram образца 2018 года, а его модуль перевода давно перестал работать. Задача — вернуть проект к жизни и сделать из него модератора, которого можно поставить в любую группу и настроить без программиста.

Решение

Переписал бота на Python и aiogram 3, хранение — на SQLite, а правила вынес в один понятный файл: что банить, что удалять, какие вложения разрешены, сколько длится капча и мут.

Исправил ошибки оригинала: в отчётах вместо текста печатались байты; спамер с запрещённым именем банился, только когда что-то напишет, — теперь сразу при входе; подписи к фото не проверялись вовсе; после удаления пересланного сообщения проверки не останавливались.

Добавил то, что в оригинале было только в планах или отсутствовало: нормализацию текста против подмены букв (латиница ↔ кириллица, @ вместо а, невидимые символы), капчу «Я человек» для новичков (нажать может только сам вошедший), запрет ссылок для новичков в первые сутки, антифлуд с мутом, отчёт о каждом действии в закрытый чат админов и сводку /modstats. Убрал то, что не относится к модерации: перевод, анализ тональности, курс криптотокена компании и запись всей переписки группы — теперь журналируются только действия модератора.

26 автотестов, включая сквозные — через настоящий диспетчер aiogram с подменённой сетью Telegram.

Результат

Модератор, который сам удаляет спам и банит спамеров — в том числе тех, кто прячет слова за похожими буквами, — останавливает флуд и отсекает ботов капчей, а админы видят отчёт о каждом действии. Правила меняются в одном файле, запуск — одной командой или в Docker.

Проект — открытый форк с сохранением лицензии и указанием авторов оригинала; в README подробно расписано, что изменено и почему.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Система онлайн-продажи и проверки электронных билетов для музея
Система онлайн-продажи и проверки электронных билетов для музея
186
Веб-разработка и IT Мобильное приложение для геолокации и контроля выездных сотрудников (Android + Spring backend)
Мобильное приложение для геолокации и контроля выездных сотрудников (Android + Spring backend)
274
Веб-разработка и IT Интернет-магазин поликарбоната и стройматериалов «МПТрейдинг» на MODX: каталог с фильтрами, выбор размера и цвета, таблица цен, корзина
Интернет-магазин поликарбоната и стройматериалов «МПТрейдинг» на MODX: каталог с фильтрами, выбор размера и цвета, таблица цен, корзина
7
Веб-разработка и IT Торговый терминал с GUI: автоматизация торговли на Bybit, MOEX (Alor) и QUIK с сеточными стратегиями и риск-менеджментом
Торговый терминал с GUI: автоматизация торговли на Bybit, MOEX (Alor) и QUIK с сеточными стратегиями и риск-менеджментом
185