feat: Mejorar bot Discord con traducción interactiva efímera

- Cambia traducción automática por botones interactivos con banderas
- Implementa traducciones privadas (solo visibles para usuario que presiona)
- Agrega opción de caché interactivo en script de deploy
- Simplifica mensaje de selección de idiomas
- Corrige errores de DatabaseConnection duplicada
This commit is contained in:
2026-02-06 17:54:34 -06:00
parent 3f0727984a
commit d1ec6bed5c
2 changed files with 205 additions and 101 deletions

View File

@@ -1,38 +1,68 @@
#!/bin/bash
# ============================================
# Script para construir y subir imagen Docker
# Target: 10.10.4.3:5000/bot-lastwar:v2
# ============================================
# ==================================================
# Script para construir y subir una imagen Docker.
#
# Uso:
# ./deploy.sh
#
# El script te preguntará interactivamente:
# - Tag para la imagen
# - Si deseas usar caché al construir
# ==================================================
set -e
# Cambiar al directorio del proyecto (carpeta padre de donde está este script)
# --- Configuración ---
REGISTRY_URL="10.10.4.3:5000"
IMAGE_NAME="bot-lastwar"
# Preguntar por el tag si no se proporciona como argumento
if [ -n "$1" ]; then
TAG="$1"
else
read -p "Introduce el tag para la imagen [latest]: " TAG
TAG="${TAG:-latest}"
fi
# Preguntar si quiere usar caché
read -p "¿Usar caché al construir? (s/n) [n]: " USE_CACHE
if [ "${USE_CACHE,,}" = "s" ]; then
BUILD_CACHE_FLAG=""
CACHE_STATUS="con caché"
else
BUILD_CACHE_FLAG="--no-cache"
CACHE_STATUS="sin caché"
fi
# --- Fin de la Configuración ---
# Nombres completos de la imagen
LOCAL_IMAGE_NAME="${IMAGE_NAME}:${TAG}"
REMOTE_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${TAG}"
# Cambiar al directorio raíz del proyecto (un nivel arriba de este script)
cd "$(dirname "$0")/.."
echo "=========================================="
echo "Construyendo imagen Docker..."
echo "Directorio: $(pwd)"
echo "Directorio de trabajo: $(pwd)"
echo "Construyendo imagen: ${LOCAL_IMAGE_NAME}"
echo "Opción de build: ${CACHE_STATUS}"
echo "Destino del registry: ${REMOTE_IMAGE_NAME}"
echo "=========================================="
# Construir la imagen usando el Dockerfile en docker/
docker build -t bot-lastwar:latest -f docker/Dockerfile .
# 1. Construir la imagen Docker
echo "Paso 1: Construyendo imagen Docker ${CACHE_STATUS}..."
docker build ${BUILD_CACHE_FLAG} -t "${LOCAL_IMAGE_NAME}" -f docker/Dockerfile .
# 2. Etiquetar la imagen para el registry
echo "Paso 2: Etiquetando imagen como ${REMOTE_IMAGE_NAME}..."
docker tag "${LOCAL_IMAGE_NAME}" "${REMOTE_IMAGE_NAME}"
# 3. Subir la imagen al registry
echo "Paso 3: Subiendo imagen al registry..."
docker push "${REMOTE_IMAGE_NAME}"
echo "=========================================="
echo "Etiquetando imagen para el registry..."
echo "=========================================="
# Etiquetar la imagen con la versión v2
docker tag bot-lastwar:latest 10.10.4.3:5000/bot-lastwar:v2
echo "=========================================="
echo "Subiendo imagen al registry..."
echo "=========================================="
# Subir al registry
docker push 10.10.4.3:5000/bot-lastwar:v2
echo "=========================================="
echo "Imagen subida exitosamente:"
echo "10.10.4.3:5000/bot-lastwar:v2"
echo "✅ Imagen subida exitosamente:"
echo "${REMOTE_IMAGE_NAME}"
echo "=========================================="