Instalacion¶
Requisitos¶
- Node.js 18 o superior
- npm, yarn o pnpm
- Cuenta de WhatsApp activa
Instalacion del paquete¶
Configuracion de TypeScript¶
La libreria esta escrita en TypeScript y proporciona tipos completos. Asegurate de tener una configuracion compatible:
tsconfig.json
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true
}
}
Estructura de archivos¶
Cuando uses FileEngine (default), la libreria crea la siguiente estructura:
.baileys/
default/ # o el nombre que especifiques
session/
creds # Credenciales de sesion
{type}/{id} # Keys de senales (ej: session/pre-key/1)
contact/
{jid}/index # Datos de contacto
chat/
{jid}/
index # Datos del chat
messages # Indice "TIMESTAMP MID" por linea
message/
{mid}/
index # Metadata del mensaje (JSON)
raw # WAMessage raw del protocolo (JSON)
content # Contenido binario (base64)
Normalizacion de IDs
Los caracteres @ en JIDs se reemplazan por _at_ en los nombres de directorios. Ejemplo: 5491112345678@s.whatsapp.net → 5491112345678_at_s.whatsapp.net
Consejo
Agrega .baileys/ a tu .gitignore para no subir credenciales al repositorio.
Verificar instalacion¶
Crea un archivo de prueba:
test.ts
import { WhatsApp, FileEngine } from "@arcaelas/whatsapp";
const wa = new WhatsApp({
engine: new FileEngine(".baileys/test"),
});
console.log("Instalacion correcta!");
console.log("Clases disponibles:", {
Chat: wa.Chat,
Contact: wa.Contact,
Message: wa.Message,
});
Ejecuta:
Si ves el mensaje de exito, la instalacion esta completa.
Problemas comunes¶
Error: Cannot find module 'baileys'¶
Asegurate de que baileys este instalado como dependencia:
Error: libffi.so.7 not found (Linux)¶
Instala las dependencias del sistema:
Error: ENOENT .baileys/default¶
El directorio se crea automaticamente en la primera conexion. Si persiste, verifica permisos de escritura.