Saltar al contenido principal
Nivel: Principiante · Etiquetas: WhatsApp, Telegram, Scheduler Funciones que muestra: bot.delay() · bot.schedule() con cron y zona horaria · cancelar una tarea · bot.send() fuera de un handler · triggers regex

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 con npx botmesh dev bot.js; el primer recordatorio llega dos segundos después:

Cómo funciona

  • bot.delay(duración, fn) ejecuta fn una vez pasada la duración ('10s', '5m', '2h', '1d' o milisegundos) y devuelve una tarea con cancel(). El handler guarda cada tarea para listarla o cancelarla después.
  • bot.send(chatId, texto) envía fuera de un handler: cuando salta el recordatorio, el mensaje que lo creó ya pasó, así que primero se guarda el id del chat (ctx.from).
  • bot.schedule(cron, { timeZone }, fn) corre según una expresión cron de 5 campos leída en una zona horaria IANA. bot.every('30m', fn) repite a intervalos fijos.
  • En memoria. Estas tareas viven en el proceso: un reinicio las olvida. Para que sobrevivan a reinicios (y corran una sola vez entre varias réplicas), dale a la tarea un id y un store de schedules: ver Tareas durables.

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; la factory no cambia.

Siguientes pasos