Files
traduccion_bots/README.md

3.2 KiB

🤖 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:
    docker-compose up -d
    
  3. Accede al panel web en http://tu-ip:8091.

Ejecución Manual (Entorno Local)

  1. Instala las dependencias:
    pip install -r requirements.txt
    
  2. 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 🚀