Skip to main content
En v1 el bot exponía 5 sub-APIs tipadas de WhatsApp: bot.groups, bot.profile, bot.privacy, bot.chats, bot.presence. En v2 fueron eliminadas del core: @botmesh/core es agnóstico de transporte, y la gestión de grupos/privacidad/perfil es específica de WhatsApp — no existe con la misma forma en Telegram o Discord.

Qué las reemplaza

Dos capas, según lo que necesites:

1. Capacidades normalizadas en todos los providers

Las operaciones comunes sobrevivieron en el contrato compartido — detecta la capacidad, nunca asumas:
Cada provider publica provider.capabilities (groups, presence, edit, typing, …) para que puedas ramificar según lo que el transporte soporta.

2. El socket nativo del transporte (solo Baileys)

Para todo lo demás — crear grupos, links de invitación, ajustes de privacidad, archivar/fijar/silenciar chats — accede al socket crudo desde el provider de Baileys. provider.socket lo devuelve tipado como unknown (los tipos de Baileys no forman parte de la API de @botmesh/baileys); socketOf(provider) de @botmesh/baileys/internal lo devuelve tipado como el socket de la versión de Baileys instalada (sin garantía semver). Importar /internal arrastra los .d.ts de Baileys, que no compilan con skipLibCheck: false: mantén "skipLibCheck": true en un proyecto que lo use (la entrada principal no lo necesita):
El código específico de transporte se queda específicoTodo lo que escribas contra provider.socket solo funciona con @botmesh/baileys (y solo contra una conexión real de WhatsApp — no con el MockProvider que usa createTestBot()). Protégelo detrás de provider.id === 'baileys' si tu código puede correr en otros transportes.
Ver la documentación de Baileys para la API completa del socket (groupCreate, groupMetadata, groupParticipantsUpdate, updateProfilePicture, chatModify, …).

Siguientes pasos