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