Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://whiskeysockets-docs-jids-socket-config-ptbr.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Ative debug logging

import makeWASocket from '@whiskeysockets/baileys'
import P from 'pino'

const sock = makeWASocket({
    logger: P({ level: 'debug' }),
})
Você verá entradas assim:
{
    "level": 10,
    "fromMe": false,
    "frame": {
        "tag": "ib",
        "attrs": {
            "from": "@s.whatsapp.net"
        },
        "content": [
            {
                "tag": "edge_routing",
                "attrs": {},
                "content": [
                    {
                        "tag": "routing_info",
                        "attrs": {},
                        "content": {
                            "type": "Buffer",
                            "data": [8,2,8,5]
                        }
                    }
                ]
            }
        ]
    },
    "msg":"communication"
}

Como o WhatsApp comunica: binary nodes

CampoDescrição
tagSobre o que é o frame.
attrsMapa de chave-valor com metadados.
contentPayload — array de nodes filhos ou Buffer.
import type { BinaryNode } from '@whiskeysockets/baileys'
Para a camada criptográfica, estude o protocolo Libsignal e o protocolo Noise.

Registrar callbacks de WebSocket

Match por tag

sock.ws.on('CB:edge_routing', (node: BinaryNode) => { })

Match por tag e atributo

sock.ws.on('CB:edge_routing,id:abcd', (node: BinaryNode) => { })

Match por tag, atributo e tag de conteúdo

sock.ws.on('CB:edge_routing,id:abcd,routing_info', (node: BinaryNode) => { })

Exemplo com tipos

import makeWASocket, { type BinaryNode } from '@whiskeysockets/baileys'
import P from 'pino'

const sock = makeWASocket({
    logger: P({ level: 'debug' }),
})

sock.ws.on('CB:edge_routing', (node: BinaryNode) => {
    console.log('received edge_routing node', node)
})

Fluxo de eventos

Seus callbacks CB: rodam antes dos handlers internos, dando acesso a mensagens de protocolo que o Baileys ainda não expõe.

Trabalho avançado de protocolo

Modificar fluxos criptográficos pode quebrar entrega silenciosamente. Faça mudanças aqui só com entendimento profundo de Noise e Signal.