README.md

This commit is contained in:
Egor Deev 2025-06-30 13:26:57 +03:00 committed by GitHub
parent 616d7295da
commit b73df23108
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

155
README.md
View file

@ -1,7 +1,152 @@
<h2>Telegram 🤖 ABOBOT / Телеграм 🤖 АБОБОТ</h2>
# 🤖 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)
<b>Также вы можете ознакомиться с этим ботом прямо сейчас перейдя по этой <a href="https://t.me/abobusik_bot">ссылке</a></b>
Многофункциональный 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)
---
<div align="center">
<p><sub>Создано с ❤️ от вашего дорогого - deev.space ©</sub></p>
</div>