Saltar a contenido

Instalacion

Requisitos

  • Node.js 18 o superior
  • npm, yarn o pnpm
  • Cuenta de WhatsApp activa

Instalacion del paquete

npm install @arcaelas/whatsapp
yarn add @arcaelas/whatsapp
pnpm add @arcaelas/whatsapp

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.net5491112345678_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:

npx tsx test.ts

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:

npm install baileys

Error: libffi.so.7 not found (Linux)

Instala las dependencias del sistema:

# Debian/Ubuntu
sudo apt-get install libffi-dev

# CentOS/RHEL
sudo yum install libffi-devel

Error: ENOENT .baileys/default

El directorio se crea automaticamente en la primera conexion. Si persiste, verifica permisos de escritura.


Siguiente paso

Primeros pasos