primer commit profesional de bots de traducción
This commit is contained in:
87
README.md
Normal file
87
README.md
Normal 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** 🚀
|
||||||
Reference in New Issue
Block a user