# Guía de Ubicación, Actualización y Despliegue del Proyecto

Esta guía documenta la estructura de directorios del proyecto, el flujo de sincronización y los comandos necesarios para iniciar, reiniciar y monitorear el servicio en la máquina virtual Linux por SSH.

---

## 1. Ubicaciones del Código

El proyecto reside en tres entornos clave:

1. **Copia de Desarrollo (Windows Local):** 
   `E:\Software\TotalConnect\`
   *Uso:* Compilación del ejecutable standalone `totalconnect.exe` para Windows usando PyInstaller.
2. **Copia Compartida (Samba Share):** 
   `Z:\data2\Software\Bot-WhatsApp\TotalConnect\`
   *Uso:* Compartido en la red que la VM Linux monta de forma nativa. Cualquier cambio guardado en `Z:\` se refleja de forma instantánea en la VM.
3. **Entorno de Producción (Linux VM - `192.168.100.50`):** 
   `/mnt/data2/Software/Bot-WhatsApp/TotalConnect/`
   *Uso:* Directorio donde se ejecuta el demonio de polling de forma continua.

---

## 2. Flujo de Actualización de Cambios

Cada vez que se modifica el código (ej: en `index.py`), se debe seguir el siguiente orden para sincronizar los entornos:

1. Modificar el archivo principal en la red compartida:
   `Z:\data2\Software\Bot-WhatsApp\TotalConnect\index.py`
2. Copiar los cambios a la ruta de desarrollo local en Windows:
   ```powershell
   Copy-Item "Z:\data2\Software\Bot-WhatsApp\TotalConnect\index.py" "E:\Software\TotalConnect\index.py" -Force
   ```
3. Si el cambio requiere actualizar el ejecutable de Windows `totalconnect.exe`, ejecutar en Windows:
   ```powershell
   cd E:\Software\TotalConnect\
   python -m PyInstaller --clean totalconnect.spec
   Copy-Item "E:\Software\TotalConnect\dist\totalconnect.exe" "E:\Software\TotalConnect\totalconnect.exe" -Force
   ```
4. Reiniciar el demonio en la VM (ver comandos en sección 3) para que lea las modificaciones de `index.py`.

---

## 3. Ejecución del Servicio en la VM por SSH

El demonio de polling corre en la máquina virtual Linux en segundo plano. Para interactuar con él, conéctate por SSH:

```powershell
ssh -i "C:\Users\JAGU\.gemini\antigravity-ide\brain\d979a063-dd63-47a8-8ec1-785abc40b475\scratch\id_ed25519_win" -o StrictHostKeyChecking=no root@192.168.100.50
```

### Comandos de Control en la VM:

* **Detener el demonio activo:**
  ```bash
  pkill -f 'python3 index.py'
  ```
* **Iniciar el demonio en segundo plano (Recomendado):**
  ```bash
  cd /mnt/data2/Software/Bot-WhatsApp/TotalConnect
  nohup ./venv/bin/python3 index.py >> server.log 2>&1 &
  ```
* **Reiniciar el demonio (Detener e Iniciar en una línea):**
  ```bash
  pkill -f 'python3 index.py'; sleep 2; cd /mnt/data2/Software/Bot-WhatsApp/TotalConnect && nohup ./venv/bin/python3 index.py >> server.log 2>&1 &
  ```

### Comandos de Monitoreo:

* **Comprobar si el proceso de Python está activo:**
  ```bash
  ps aux | grep 'python3 index.py' | grep -v grep
  ```
* **Visualizar los logs de actividad en tiempo real:**
  ```bash
  tail -f /mnt/data2/Software/Bot-WhatsApp/TotalConnect/server.log
  ```
