primer commit profesional de bots de traducción

This commit is contained in:
2026-03-06 18:31:06 -06:00
commit 3a15a3eafa

87
README.md Normal file
View File

@@ -0,0 +1,87 @@
# 🤖 Bots de Traducción Multi-Plataforma
Sistema integral de traducción para **Discord** y **Telegram** con **Panel de Control Web**, diseñado para ofrecer una experiencia minimalista y eficiente utilizando el motor de **LibreTranslate**.
## 🌟 Características Principales
### 🟦 Discord Bot
- **Interfaz Minimalista:** Botones de traducción representados únicamente por banderas (flags).
- **Edición en Tiempo Real:** Al pulsar una bandera, el bot edita su propio mensaje con la traducción, evitando el "salto" al final del chat y permitiendo mantener el hilo de la conversación.
- **Soporte de Menciones:** Respeta las menciones de usuarios y roles dentro de las traducciones.
### 🟩 Telegram Bot
- **Diseño Compacto:** Botones organizados en columnas (filas de 4 banderas) para un acceso rápido y visual.
- **Soporte Multimedia:** Traduce texto en fotos, videos, documentos, animaciones, audios y notas de voz.
- **Edición Inteligente:** Actualiza el pie de foto (caption) o el mensaje de texto original con la traducción para no ensuciar el chat.
### 🌐 Panel de Administración
- **Gestión de Idiomas:** Sincroniza idiomas disponibles desde LibreTranslate.
- **Configuración Visual:** Permite asignar y cambiar los emojis de banderas para cada idioma.
- **Control Total:** Configura qué idiomas aparecen en cada bot de forma independiente.
---
## 🚀 Instalación y Despliegue
### Requisitos Previos
- Docker y Docker Compose (Recomendado).
- Python 3.12+ (para ejecución manual).
- Una instancia de LibreTranslate accesible.
### Despliegue con Docker (Recomendado)
1. Configura tu archivo `.env` o utiliza las variables en `docker-compose.yml`.
2. Inicia los servicios:
```bash
docker-compose up -d
```
3. Accede al panel web en `http://tu-ip:8091`.
### Ejecución Manual (Entorno Local)
1. Instala las dependencias:
```bash
pip install -r requirements.txt
```
2. Inicia todos los servicios simultáneamente:
```bash
python3 iniciar_todo.py
```
---
## ⚙️ Configuración
El sistema utiliza un archivo `config.yaml` y una base de datos (SQLite o MySQL) para gestionar los ajustes.
### Variables de Entorno Clave:
- `DISCORD_TOKEN`: Token de tu bot en Discord Developer Portal.
- `TELEGRAM_TOKEN`: Token de tu bot proporcionado por @BotFather.
- `LIBRETRANSLATE_URL`: URL de tu motor de traducción.
- `ADMIN_USERNAME` / `ADMIN_PASSWORD`: Credenciales para el panel web.
---
## ⚠️ Notas de Mantenimiento Importantes
### Conflicto de Servicios
**IMPORTANTE:** No ejecutes los bots mediante un servicio de sistema (`systemd`) y Docker al mismo tiempo, ya que causará desconexiones constantes por duplicidad de tokens.
Para asegurar que solo Docker gestione los bots, desactiva el servicio de sistema:
```bash
sudo systemctl stop bots.service
sudo systemctl disable bots.service
```
### Logs
Puedes consultar la actividad de los bots en la carpeta `/app/data/logs` (dentro del contenedor) o en el directorio `logs/` del proyecto.
---
## 🛠️ Tecnologías Utilizadas
- **Lenguaje:** Python 3.12
- **Frameworks:** Discord.py, Python-Telegram-Bot, FastAPI
- **Base de Datos:** SQLite / MySQL
- **Frontend:** Jinja2 Templates & CSS Minimalista
- **Motor de Traducción:** LibreTranslate API
---
Desarrollado por **nickpons666** 🚀