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
| Campo | Descrição |
|---|
tag | Sobre o que é o frame. |
attrs | Mapa de chave-valor com metadados. |
content | Payload — 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) => { })
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.