faed585b378ecdff3103e1517271b31b8ef0e1bd
🤖 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)
- Configura tu archivo
.envo utiliza las variables endocker-compose.yml. - Inicia los servicios:
docker-compose up -d - Accede al panel web en
http://tu-ip:8091.
Ejecución Manual (Entorno Local)
- Instala las dependencias:
pip install -r requirements.txt - Inicia todos los servicios simultáneamente:
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:
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 🚀
Description
Languages
Python
99.2%
Cython
0.4%
HTML
0.3%