up
This commit is contained in:
@@ -1,93 +1,177 @@
|
||||
# WhatsApp Bot Manager 🚀
|
||||
|
||||
**WhatsApp Bot Manager** es un panel administrativo para gestionar bots y envíos de WhatsApp. Desarrollado por U‑Site.app, pensado para instalaciones autohospedadas con PHP y MySQL.
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/PHP-8.2+-777BB4?style=for-the-badge&logo=php&logoColor=white" alt="PHP 8.2+">
|
||||
<img src="https://img.shields.io/badge/MariaDB-10.11-003545?style=for-the-badge&logo=mariadb&logoColor=white" alt="MariaDB">
|
||||
<img src="https://img.shields.io/badge/Docker-Ready-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="Docker Ready">
|
||||
<img src="https://img.shields.io/badge/WhatsApp-API-25D366?style=for-the-badge&logo=whatsapp&logoColor=white" alt="WhatsApp API">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>Panel administrativo para gestionar bots y envíos de WhatsApp Business</strong>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Desarrollado con 💚 por <a href="https://u-site.app"><strong>U-Site.app</strong></a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Características principales
|
||||
## 🏢 Sobre U-Site.app
|
||||
|
||||
- Gestión de conversaciones y plantillas
|
||||
- Integración con WhatsApp Business API
|
||||
- Control de usuarios y seguridad (protección contra fuerza bruta)
|
||||
- Manejo de archivos multimedia y envíos
|
||||
- Scripts de instalación y migración incluidos
|
||||
**U-Site.app** es una casa de desarrollo de software especializada en soluciones empresariales, automatización y aplicaciones web modernas. Creamos herramientas que simplifican procesos y potencian negocios.
|
||||
|
||||
🌐 **Website:** [u-site.app](https://u-site.app)
|
||||
|
||||
---
|
||||
|
||||
## ✅ Requisitos
|
||||
## ✨ Características
|
||||
|
||||
- PHP 8.0+ (extensiones: PDO/MySQL, mbstring, curl, openssl, json)
|
||||
- MySQL/MariaDB
|
||||
- Servidor web (Apache/Nginx) o PHP built-in para desarrollo
|
||||
- 📱 **Gestión de conversaciones** - Interfaz tipo WhatsApp Web
|
||||
- 📨 **Plantillas de mensajes** - Envíos masivos con templates aprobados
|
||||
- 🤖 **Bot automatizado** - Respuestas automáticas configurables
|
||||
- 🔐 **Autenticación segura** - Protección contra fuerza bruta
|
||||
- 📎 **Multimedia** - Soporte para imágenes, documentos, audio y video
|
||||
- 🔔 **Notificaciones SSE** - Tiempo real sin polling
|
||||
- 🐳 **Docker Ready** - Despliegue en contenedores
|
||||
- 🇨🇴 **Zona horaria Colombia** - Configurado para América/Bogotá
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Instalación rápida (desarrollo)
|
||||
## 🛠️ Requisitos
|
||||
|
||||
1. Clonar el repositorio y entrar en la carpeta:
|
||||
| Requisito | Versión |
|
||||
|-----------|---------|
|
||||
| PHP | 8.0+ |
|
||||
| MariaDB/MySQL | 10.11+ / 8.0+ |
|
||||
| Redis | 7.0+ |
|
||||
| Docker | 24.0+ (opcional) |
|
||||
|
||||
**Extensiones PHP requeridas:** PDO, MySQL, mbstring, curl, openssl, json, gd
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Instalación
|
||||
|
||||
### Opción 1: Docker (Recomendado)
|
||||
|
||||
```bash
|
||||
# Clonar repositorio
|
||||
git clone https://github.com/tu-usuario/whatsapp.git
|
||||
cd whatsapp
|
||||
|
||||
# Desarrollo local
|
||||
docker-compose -f docker-compose.dev.yml up -d
|
||||
|
||||
# Producción
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
**URLs de acceso (desarrollo):**
|
||||
- 🌐 App: http://localhost:8080
|
||||
- 🗄️ phpMyAdmin: http://localhost:8084
|
||||
|
||||
### Opción 2: Instalación Manual
|
||||
|
||||
1. Clonar y configurar:
|
||||
```bash
|
||||
git clone <repo-url> whatsapp
|
||||
git clone https://github.com/tu-usuario/whatsapp.git
|
||||
cd whatsapp
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. Configurar la base de datos en `config/config.php` o crear un archivo `.env` en la raíz.
|
||||
2. Editar `.env` con tus credenciales
|
||||
|
||||
3. Ejecutar el instalador desde el navegador: `http://tu-servidor/install.php` y seguir los pasos.
|
||||
|
||||
4. Para levantar un servidor de desarrollo rápido:
|
||||
|
||||
```bash
|
||||
php -S 127.0.0.1:8000 -t . >/tmp/php-server.log 2>&1 &
|
||||
# Abre: http://127.0.0.1:8000
|
||||
```
|
||||
3. Ejecutar instalador: `http://tu-servidor/install.php`
|
||||
|
||||
---
|
||||
|
||||
## 🧭 Archivos y scripts útiles
|
||||
## 📁 Estructura del Proyecto
|
||||
|
||||
- `install.php`, `instalar_bd.php` — instalador y creación de tablas
|
||||
- `create_media_table.sql`, `execute_media_table.php` — tabla de media
|
||||
- `config/config.php` — configuración principal y carga de `.env`
|
||||
- `run_tests.php` — pruebas básicas
|
||||
- `deploy.sh` — script de despliegue (producción)
|
||||
- `verify_*` y `diagnostico_*` — páginas de diagnóstico y verificación
|
||||
|
||||
Consulta `README_SETUP.md`, `INSTALACION.md` y `DEPLOYMENT_GUIDE.md` para documentación extendida.
|
||||
```
|
||||
whatsapp/
|
||||
├── api/ # Endpoints API REST
|
||||
├── assets/ # CSS, JS, imágenes
|
||||
├── classes/ # Clases PHP (Database, Services)
|
||||
├── config/ # Configuración
|
||||
├── database/ # Scripts SQL y backups
|
||||
├── docker/ # Configuración Docker (nginx, php, supervisor)
|
||||
├── services/ # Servicios (WhatsApp, Bot)
|
||||
├── uploads/ # Archivos subidos
|
||||
├── Dockerfile # Imagen principal
|
||||
├── Dockerfile.worker # Imagen para workers
|
||||
├── docker-compose.dev.yml # Desarrollo
|
||||
├── docker-compose.prod.yml # Producción
|
||||
└── deploy-vps.sh # Script de despliegue
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Personalización de UI
|
||||
## ⚙️ Configuración
|
||||
|
||||
- Estilos principales: `assets/css/styles.css`
|
||||
- Para ajustar el tamaño global de fuente cambia `html { font-size: ... }` o `body { font-size: ... }`
|
||||
### Variables de Entorno (.env)
|
||||
|
||||
```env
|
||||
# Base de datos
|
||||
DB_HOST=mysql
|
||||
DB_PORT=3306
|
||||
DB_NAME=usite_whatsapp_bot
|
||||
DB_USER=tu_usuario
|
||||
DB_PASS=tu_password
|
||||
|
||||
# WhatsApp Business API
|
||||
WHATSAPP_TOKEN=tu_token_aqui
|
||||
WHATSAPP_PHONE_NUMBER_ID=tu_phone_id
|
||||
WEBHOOK_VERIFY_TOKEN=tu_webhook_token
|
||||
|
||||
# Redis
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
```
|
||||
|
||||
### Webhook de WhatsApp
|
||||
|
||||
Configura el webhook en Meta Developer Console:
|
||||
- **URL:** `https://tu-dominio.com/api/webhook.php`
|
||||
- **Verify Token:** El mismo que `WEBHOOK_VERIFY_TOKEN`
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Solución rápida de problemas
|
||||
## 🐳 Contenedores Docker
|
||||
|
||||
- Logs del servidor integrado: `/tmp/php-server.log`
|
||||
- Verificar tokens y configuración con: `verificar_servidor.php`, `verificar_token.php`, `verificar_whatsapp_config.php`
|
||||
- Comprobar tablas con: `verify_media_table.php`, `check_table_structure.php`
|
||||
| Contenedor | Descripción | Puerto |
|
||||
|------------|-------------|--------|
|
||||
| `whatsapp-app` | PHP + Nginx | 80, 443 |
|
||||
| `whatsapp-mysql` | MariaDB 10.11 | 3306 |
|
||||
| `whatsapp-redis` | Redis 7 | 6379 |
|
||||
| `whatsapp-worker` | Procesos background | - |
|
||||
|
||||
---
|
||||
|
||||
## � Notas de seguridad: directorios de pruebas
|
||||
## 📖 Documentación Adicional
|
||||
|
||||
Los recursos de pruebas y depuración (scripts `test_*`, `debug_*`, `diagnostico_*`, `tests/`, `scripts/` de prueba, etc.) han sido movidos al directorio `dev/`. **No** expongas `dev/` en entornos de producción. Recomendaciones:
|
||||
|
||||
- Mantén `dev/` fuera del documento raíz público o protégelo con HTTP auth/.htaccess.
|
||||
- Añade `dev/` y `tmp/` a `.gitignore` y rota credenciales que hayan estado en `CREDENCIALES_BASICO.txt`.
|
||||
- Revisa y elimina cualquier endpoint que active modo `debug` vía parámetros en producción.
|
||||
- [Guía de Instalación](INSTALACION.md)
|
||||
- [Guía de Despliegue](DEPLOYMENT_GUIDE.md)
|
||||
- [Configuración SSE](README_SSE.md)
|
||||
- [Solución de Problemas](SOLUCION_HOSTING.md)
|
||||
|
||||
---
|
||||
|
||||
## �📬 Soporte y créditos
|
||||
## 🔒 Seguridad
|
||||
|
||||
Desarrollado por **U‑Site.app** — https://u-site.app
|
||||
|
||||
Para soporte, abre un issue o contacta al correo de soporte configurado en la app.
|
||||
- Los directorios `dev/`, `tests/`, `scripts/` contienen herramientas de desarrollo
|
||||
- **NO exponer** estos directorios en producción
|
||||
- Proteger con `.htaccess` o configuración de nginx
|
||||
- Rotar credenciales regularmente
|
||||
|
||||
---
|
||||
|
||||
*README corto y enfocado. Revisa los archivos de documentación para guías detalladas.*
|
||||
## 📄 Licencia
|
||||
|
||||
Propietario - © 2026 [U-Site.app](https://u-site.app)
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<strong>Desarrollado con 💚 por <a href="https://u-site.app">U-Site.app</a></strong>
|
||||
</p>
|
||||
|
||||
+6
-3
@@ -995,11 +995,9 @@ if (!isset($_SESSION['user_id'])) {
|
||||
// ESTE LOG DEBE APARECER PRIMERO
|
||||
console.clear();
|
||||
console.log('%c═══════════════════════════════════════════', 'color: #25d366; font-weight: bold;');
|
||||
console.log('%c🚀 WHATSAPP BOT v1.2.0 - CARGANDO...', 'background: #25d366; color: white; padding: 10px 20px; font-size: 18px; font-weight: bold; border-radius: 5px;');
|
||||
console.log('%c📅 Build: 27 Enero 2026 - 16:45 hrs', 'color: #2575fc; font-weight: bold; font-size: 14px;');
|
||||
console.log('%c🚀 WHATSAPP BOT v1.2.0 - Desarrollado por U-Site.app', 'background: #25d366; color: white; padding: 10px 20px; font-size: 18px; font-weight: bold; border-radius: 5px;');
|
||||
console.log('%c═══════════════════════════════════════════', 'color: #25d366; font-weight: bold;');
|
||||
window.__APP_VERSION__ = '1.2.0';
|
||||
window.__BUILD_TIME__ = '<?php echo date("Y-m-d H:i:s"); ?>';
|
||||
</script>
|
||||
|
||||
<?php
|
||||
@@ -5248,5 +5246,10 @@ if (!isset($_SESSION['user_id'])) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer U-Site -->
|
||||
<footer style="position: fixed; bottom: 0; left: 0; right: 0; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); padding: 8px 20px; text-align: center; font-size: 12px; color: rgba(255,255,255,0.7); z-index: 999; border-top: 1px solid rgba(255,255,255,0.1);">
|
||||
Desarrollado con 💚 por <a href="https://u-site.app" target="_blank" style="color: #25d366; text-decoration: none; font-weight: 600;">U-Site.app</a>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,16 +2,9 @@
|
||||
|
||||
/**
|
||||
* Página principal del sistema WhatsApp Bot
|
||||
* Fecha: 13 de noviembre de 2025
|
||||
* Desarrollado por U-Site.app
|
||||
*/
|
||||
|
||||
// Verificar si la instalación está completada
|
||||
$installationLockFile = '.installation_completed';
|
||||
if (!file_exists($installationLockFile)) {
|
||||
header('Location: instalacion.html');
|
||||
exit();
|
||||
}
|
||||
|
||||
require_once 'config/config.php';
|
||||
|
||||
// Verificar autenticación - redirigir al login si no está logueado
|
||||
|
||||
@@ -7,11 +7,8 @@
|
||||
|
||||
require_once 'config/config.php';
|
||||
|
||||
// Verificar si la instalación está completada
|
||||
if (!isInstallationCompleted()) {
|
||||
header('Location: install.php');
|
||||
exit('Sistema no instalado. <a href="install.php">Instalar ahora</a>');
|
||||
}
|
||||
// Con Docker, la instalación siempre está completada
|
||||
// El archivo .installation_completed se crea automáticamente o no es necesario
|
||||
|
||||
// Si ya está logueado, redirigir al panel
|
||||
if (isUserLoggedIn()) {
|
||||
@@ -320,5 +317,10 @@ if ($_POST && !$loginBlocked) {
|
||||
});
|
||||
<?php endif; ?>
|
||||
</script>
|
||||
|
||||
<!-- Footer U-Site -->
|
||||
<footer style="position: fixed; bottom: 0; left: 0; right: 0; background: transparent; padding: 15px; text-align: center; font-size: 12px; color: rgba(255,255,255,0.6);">
|
||||
Desarrollado con 💚 por <a href="https://u-site.app" target="_blank" style="color: #25d366; text-decoration: none; font-weight: 600;">U-Site.app</a>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user