definePlugin() ·
hooks before('message') ·
ctx.abort() ·
ctx.onDispose() y unplug ·
configuración del plugin
Requisitos previos
Node.js 22.12 o superior y una carpeta con"type": "module" (ver
Inicio rápido). Después instala:
El bot completo
Transcripción de ejemplo
Capturada connpx botmesh dev bot.js; el quinto mensaje se descarta en
silencio, así que el usuario recibe un solo aviso por ventana:
Cómo funciona
definePlugin({ name, install })empaqueta la funcionalidad;installrecibe el contexto del plugin y la configuración pasada abot.plug(plugin, config). Debe ser síncrono.ctx.bot.before('message', (msg, next) => ...)corre antes del enrutado. Llama anext()para continuar;msg.abort()detiene el mensaje, así que ningún handler, flujo ni catch-all lo ve.- Por remitente.
msg.senderes el id estable del usuario, así que en un grupo cada participante tiene su propio contador. - Limpieza. Los hooks y handlers registrados con
ctx.botse deshacen con la función que devuelvebot.plug(); los timers y recursos externos van enctx.onDispose(). - También en la salida. Un hook
before('send')ve cada mensaje que envía el bot ({ chatId, content }) y puede hacerabort()igual. Para el ritmo anti-ban de WhatsApp,@botmesh/baileysya limita los envíos (ver Rate limiting).
Ejecutarlo en WhatsApp o Telegram
node bot.js muestra un QR: escanéalo en WhatsApp → Dispositivos
vinculados. Para Telegram, instala @botmesh/telegram y cambia el provider
como se muestra en O conectar Telegram;
el plugin funciona igual en todos los canales.
Siguientes pasos
- Plugins:
requires,multipley paquetes de plugins - Hooks: todos los puntos de hook y su payload
- Handoff y listas de acceso: bloquea o permite remitentes sin código