# 🤖 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** 🚀