Aplicación web local para enviar mensajes personalizados de WhatsApp con plantillas y archivos multimedia (imágenes/videos).
- Node.js 18+
- WhatsApp en tu celular
git clone git@github.com:hg1g/wasex.git
cd wasex
npm installnpm run devAbre http://localhost:3000 en tu navegador.
- Click en "Conectar"
- Escanea el código QR con WhatsApp (Dispositivos vinculados)
- La sesión queda guardada para futuras sesiones
Los contactos de WhatsApp no incluyen nombres de tu agenda. Tienes tres opciones:
Opción A: Importar desde Google Contacts (recomendado)
- Ve a contacts.google.com
- En el menú lateral, click en "Exportar"
- Selecciona los contactos que quieras exportar
- Elige formato "Google CSV" y descarga
- En WasEx, despliega "Importar desde Google Contacts"
- Sube el archivo CSV descargado
- Click en "Importar de Google"
Opción B: Importar CSV manual
- Despliega "Importar CSV manual"
- Pega tus contactos en formato:
5491112345678,Juan Perez 5491187654321,Maria Garcia - Click en "Importar"
Opción C: Desde WhatsApp
- Los contactos con los que hayas chateado se cargan automáticamente
- Solo aparecen con nombre si tienen nombre de perfil en WhatsApp
Escribe tu mensaje usando variables:
{{nombre}}- Primer nombre del contacto{{telefono}}- Número de teléfono
Ejemplo:
Hola {{nombre}}!
Te invitamos a nuestro evento.
Importante: Click en "Guardar Plantilla" antes de continuar.
- Click en la zona de upload o arrastra un archivo
- Formatos soportados: JPG, PNG, WEBP, GIF, MP4, MOV, AVI
- Selecciona el archivo que quieras usar
- Click: Seleccionar/deseleccionar un contacto
- Shift+Click: Seleccionar rango de contactos
- Ctrl+Click: Agregar a la selección actual
- Usa el buscador para filtrar por nombre o teléfono
- Click en "Agregar seleccionados a la cola"
- Edita los mensajes individuales si es necesario
- Click en "ENVIAR TODOS"
Los mensajes se envían con delays aleatorios de 30-60 segundos para evitar bloqueos de WhatsApp.
wasex/
├── src/ # Código fuente
├── public/ # Interfaz web
├── data/
│ ├── auth/ # Sesión de WhatsApp (no commitear)
│ ├── media/ # Flyers subidos
│ └── contacts.json # Contactos guardados
└── plantillas/ # Plantillas de ejemplo
| Comando | Descripción |
|---|---|
npm run dev |
Inicia en modo desarrollo |
npm run build |
Compila TypeScript |
npm start |
Inicia versión compilada |
- La sesión de WhatsApp se guarda en
data/auth/ - Los contactos más usados aparecen primero en la lista
- No envíes muchos mensajes seguidos para evitar bloqueos