client.bot (WaBotCoordinator) funciona com bots do WhatsApp - qualquer conta no domÃnio @bot. O Meta AI é o mais comum, mas não é o único bot; listBots() retorna todos os bots disponÃveis para a sua conta. O coordinator descobre bots, lê seus perfis, envia prompts e descriptografa os chunks em stream da resposta de um bot.
Descobrindo bots e obtendo um JID de bot
Você não fixa JIDs de bot no código - você os descobre comlistBots() e escolhe um:
WaBotInfo.jid é o valor que você passa abaixo como to (caminho direto) ou options.botJid (caminho de menção).
Enviando um prompt
sendPrompt(to, content, options?) invoca um bot. Há dois caminhos, dependendo de to:
Caminho direto — conversar com o bot
Quandoto é um JID @bot, você está conversando com o bot diretamente. O zapo gera um novo aiThreadId (um id de conversa); reutilize-o em prompts posteriores para manter o contexto:
Caminho de menção — invocar um bot dentro de um grupo
Quandoto é um JID de grupo/chat, você precisa nomear o bot via options.botJid. O bot é invocado indiretamente através de uma menção:
No caminho de menção,
aiThreadId / aiThreadType são ignorados — os bots descartam a requisição se metadados de persona/thread forem anexados a uma menção.WaBotPromptOptions estende WaSendMessageOptions e adiciona botJid, personaId, capabilities, extraMentionedJids, aiThreadId e aiThreadType.
Recebendo a resposta em stream
A resposta de um bot não chega como uma únicamessage. Ela chega em stream como múltiplos chunks criptografados, expostos no evento message_bot_chunk. O zapo os descriptografa automaticamente a cada mensagem de entrada, então você só escuta:
Descriptografia manual de chunk
O zapo chamatryDecryptChunk para você a cada mensagem de entrada, então você raramente precisa dele. Se você gerencia os eventos de entrada por conta própria, pode invocá-lo explicitamente:
