# 🤖 ABOBOT - Telegram Group Management Bot ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg) ![Aiogram](https://img.shields.io/badge/Aiogram-3.x-green.svg) ![SQLite](https://img.shields.io/badge/SQLite-3-orange.svg) ![License](https://img.shields.io/badge/License-MIT-yellow.svg) Многофункциональный Telegram-бот для управления групповыми чатами с расширенной аналитикой и интерактивными возможностями. ## 🎯 Основные возможности ### 📊 Система аналитики - **Комплексная статистика** - детальный учёт активности участников - **Временная сегментация** - анализ данных за месяц и весь период - **Многомерные метрики** - сообщения, ответы, команды, медиафайлы, голосовые ### 👥 Управление участниками - **Интеллектуальные упоминания** - автоматическое обнаружение имён в сообщениях - **Динамическое именование** - морфологическая обработка и нормализация - **Групповые вызовы** - команда `/all` для оповещения всех участников ### 🔧 Утилиты и инструменты - **Транслитерация** - автоматический перевод с латиницы на кириллицу - **Транскрипция** - конвертация голосовых сообщений в текст (gTTS) - **Текстовые трансформации** - реверс слов и предложений - **Генерация голоса** - озвучивание текстовых сообщений ### 🎮 Интерактивные функции - **Игровые механики** - симуляция драк и взаимодействий - **Рандомизация** - генерация случайных чисел в диапазоне - **Советник** - интеграция с API для получения рандомных советов ## 🏗️ Архитектура системы ### Технологический стек ``` Backend Framework: aiogram (Async Telegram Bot API) Database Engine: SQLite (многотабличная структура) NLP Processing: pymorphy3 (морфологический анализ) Speech Recognition: speech_recognition + gTTS Async Framework: asyncio (асинхронная обработка) ``` ### Структура базы данных ``` 📁 Databases ├── base.db # Основная статистика групп ├── users.db # Маппинг пользователей ├── groups.db # Индивидуальная статистика участников └── month.db # Временная сегментация данных ``` ### Модульная организация ``` 📁 Project Structure ├── bot.py # Точка входа и инициализация ├── handlers.py # Обработчики событий и команд ├── script.py # Бизнес-логика и алгоритмы ├── sql.py # Абстракция базы данных ├── init.py # Конфигурация и зависимости └── base.py # Константы и настройки ``` ## 🚀 Быстрый старт ### Установка зависимостей ```bash pip install -r requirements.txt ``` ### Конфигурация 1. Получите токен бота у [@BotFather](https://t.me/BotFather) 2. Обновите `TOKEN` в `code/base.py` 3. Настройте права администратора для автоудаления системных сообщений ### Запуск ```bash cd code python bot.py ``` ## 📋 Команды | Команда | Функционал | |---------|------------| | `/start`, `/help` | Интерактивное меню с описанием возможностей | | `/all` | Упоминание всех участников группы | | `/stat_group` | Детальная аналитика группы | | `/stat_user` | Персональная статистика пользователя | | `/recognize` | Транскрипция голосового сообщения | | `/edit <имя>` | Установка кастомного имени для упоминаний | | `/back_edit` | Возврат к динамическому именованию | | `/start_bot` | Активация текстовых событий | | `/stop_bot` | Деактивация текстовых событий | ## 🎲 Текстовые события ### Интерактивные команды - **"Чмокнуть [имя]"** - позитивное взаимодействие - **"Отмудохать [имя]"** - игровая агрессия - **"Подраться с [имя]"** - симуляция боя с рандомным исходом - **"Число от X до Y"** - генерация случайного числа - **"Переведи (символ) - текст"** - трансформация в "кирпичный" язык - **"Переверни - текст"** - реверс слов с сохранением пунктуации - **"Озвучь - текст"** - генерация голосового сообщения ## 🔍 Технические особенности ### Алгоритмы обработки - **Морфологический анализ** - приведение имён к начальной форме - **Детекция транслита** - эвристический алгоритм определения раскладки - **Парсинг голоса** - интеграция Google Speech Recognition - **Обработка пунктуации** - сохранение форматирования при трансформациях ### Оптимизации производительности - **Асинхронная архитектура** - неблокирующая обработка запросов - **Кэширование соединений** - переиспользование подключений к БД - **Ленивая загрузка** - подгрузка данных по требованию ## 📈 Метрики и аналитика Система ведёт учёт следующих параметров: - Общее количество сообщений - Количество ответов на сообщения - Использование команд бота - Отправка медиафайлов и стикеров - Голосовые сообщения и видеокружки - Размещение ссылок ## 🛠️ Требования к системе - Python 3.8+ - Операционная система: Linux/Windows/macOS - RAM: минимум 512MB - Свободное место: 100MB для логов и медиафайлов ## 📄 Лицензия Проект распространяется под лицензией MIT. ## 👨‍💻 Автор **Деев Егор Викторович** - Backend Developer - GitHub: [@EDeev](https://github.com/EDeev) - Email: egor@deev.space - Telegram: [@Egor_Deev](https://t.me/Egor_Deev) ---
⭐ Если проект оказался полезным, поставьте звезду на GitHub!

Создано с ❤️ от вашего дорогого - deev.space ©