ctx.poll() ·
votos de encuestas (bot.on('poll')) ·
bot.send() fuera de un handler ·
ctx.react() ·
:click del simulador
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; :click 2 vota por la segunda
opción de la última encuesta:
Cómo funciona
ctx.poll(pregunta, opciones, multiSelect?)envía una encuesta nativa. Las encuestas son nativas en WhatsApp con Baileys y en Telegram; la WhatsApp Cloud API no las tiene (allíctx.poll()rechaza conUnsupportedContentError: usa botones, ver el Bot de menú).- Los votos son eventos, no mensajes.
bot.on('poll')recibe{ ref, senderId, options }, dondeoptionstrae cada opción con susvotesyvoters. Cambiar o retirar un voto lo dispara otra vez. bot.send(chatId, texto)envía fuera de un handler;vote.ref.chatIdes el chat donde se votó la encuesta.ctx.react(emoji)reacciona al mensaje entrante. Los canales sin reacciones resuelven{ skipped: true }en vez de fallar.- En WhatsApp los votos van cifrados de extremo a extremo: el provider los descifra, pero solo para encuestas que este proceso envió o vio (ver Votos de encuestas).
Ejecutarlo en WhatsApp o Telegram
node bot.js muestra un QR: escanéalo en WhatsApp → Dispositivos
vinculados. En Telegram, instala @botmesh/telegram y cambia el provider
como se muestra en O conectar Telegram;
sus encuestas se envían no anónimas para que los votos lleguen al bot.
Siguientes pasos
- Respuestas con media: imágenes, documentos, ubicaciones y contactos
- Bot de menú: botones en canales sin encuestas
- Mensajes y media: todos los métodos de envío