WaClient e de seus coordinators, com descrições fundamentadas no código. Páginas dedicadas se aprofundam em tipos de mensagem, mutations de chat e a API de baixo nível.
WaClient
Ignorando stanzas inbound
client.ignoreKey(input) descarta stanzas <message>, <receipt>, <notification>, <presence>, <chatstate> e <call> que casam antes de qualquer handler — incluindo os caminhos de persistência e decifragem — ver. O coordinator ainda envia o ack apropriado para o servidor parar de re-entregar.
Aceita dois formatos:
Descriptor declarativo — WaIgnoreKey
Múltiplos campos de topo fazem AND entre si; o array de
remoteJid faz OR. Pelo menos um de remoteJid / fromMe / id / participant é obrigatório — descriptors vazios e arrays vazios lançam erro.
Predicate — WaIgnoreKeyPredicate
Pra qualquer coisa que o descriptor não consiga expressar (filtros por kind de chat, regras customizadas combinando vários campos), passe um predicate (ctx: WaIgnoreKeyContext) => boolean. Retorne true pra descartar. A lib já fez o parse do node em wire-format antes de chamar — sem precisar mexer em BinaryNode.
WaIgnoreKeyContext carrega os mesmos campos contra os quais o descriptor casa, já parseados:
O predicate vê
from / participant com o device stripped — mas sem resolução de alt-attr PN ↔ LID. O formato descriptor é quem cuida da parte de PN ↔ LID automaticamente; se você precisa de matching por JID com cobertura de forma alt junto de uma regra custom, prefira o remoteJid do descriptor com only.Os nodes de controle de stream e as tags
success / failure críticas para a conexão passam pelos filtros para manter o fluxo de auth intacto.Coordinator getters
auth
client.auth (WaAuthClient). O pareamento é majoritariamente orientado a eventos (Autenticação); estes são os pontos de entrada voltados ao usuário.
message
WaMessageCoordinator — veja Envio & Recebimento.
source é um WaIncomingMessageEvent ou um Proto.IMessage bruto.
presence
WaPresenceCoordinator — veja Presença & status.
chat
WaAppStateMutationCoordinator — referência completa (incluindo o set/remove genérico e todos os schemas) em Mutations de chat.
Pin e arquivamento são mutuamente exclusivos (fixar limpa o arquivamento e vice-versa); travar limpa ambos.
clearChat/deleteChat/deleteMessageForMe são somente locais (seus dispositivos) — use um revoke para apagar para todos. Um timer de silenciamento não desativa o mudo automaticamente no lado do client.group
WaGroupCoordinator — veja Grupos & comunidades. Operações sobre participantes retornam um WaParticipantActionResult por jid — o IQ tem sucesso como um todo mesmo quando alguns falham, então verifique o status / code de cada resultado.
Métodos marcados com (MEX) exigem um transport MEX ativo e lançam quando ele está indisponível.
newsletter
WaNewsletterCoordinator — veja Newsletters. Composto de operações de discovery, admin e messaging.
Discovery
Admin
Messaging
privacy
WaPrivacyCoordinator — veja Privacidade.
profile
WaProfileCoordinator — veja Perfil.
status
WaStatusCoordinator — veja Broadcasts de status.
broadcastList
WaBroadcastListCoordinator.
business
WaBusinessCoordinator — veja Business.
bot
WaBotCoordinator — veja Bots.
WaEmailCoordinator.
mobile
WaMobileCoordinator — veja Hospedando dispositivos companheiros. Requer uma sessão mobile-primary; métodos de link/revoke/publish lançam em uma conexão Web/companion.
lowlevel
WaLowLevelCoordinator — referência completa em API de baixo nível: sendNode, query, registerIncomingHandler, unregisterIncomingHandler, registerIncomingStanzaFilter.
Para helpers de topo exportados da raiz do pacote — inspeção de mensagem (
getContentType), normalização de target (resolveMessageTarget), predicados de JID e constantes — veja JIDs, helpers & constantes. Para business hours tipados, veja Perfil, privacidade & business.