Encuestas

Canales compatibles

  • Telegram
  • WhatsApp (canal web)
  • Discord
  • MS Teams (Adaptive Cards)

CLI

# Telegram
openclaw message poll --channel telegram --target 123456789 \
  --poll-question "Ship it?" --poll-option "Yes" --poll-option "No"
openclaw message poll --channel telegram --target -1001234567890:topic:42 \
  --poll-question "Pick a time" --poll-option "10am" --poll-option "2pm" \
  --poll-duration-seconds 300

# WhatsApp
openclaw message poll --target +15555550123 \
  --poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe"
openclaw message poll --target [email protected] \
  --poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi

# Discord
openclaw message poll --channel discord --target channel:123456789 \
  --poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
openclaw message poll --channel discord --target channel:123456789 \
  --poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48

# MS Teams
openclaw message poll --channel msteams --target conversation:19:[email protected] \
  --poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi"

Opciones:

  • --channel: whatsapp (por defecto), telegram, discord o msteams
  • --poll-multi: permitir seleccionar múltiples opciones
  • --poll-duration-hours: solo Discord (por defecto 24 si se omite)
  • --poll-duration-seconds: solo Telegram (5-600 segundos)
  • --poll-anonymous / --poll-public: visibilidad de encuesta solo en Telegram

Gateway RPC

Método: poll

Parámetros:

  • to (string, requerido)
  • question (string, requerido)
  • options (string[], requerido)
  • maxSelections (number, opcional)
  • durationHours (number, opcional)
  • durationSeconds (number, opcional, solo Telegram)
  • isAnonymous (boolean, opcional, solo Telegram)
  • channel (string, opcional, por defecto: whatsapp)
  • idempotencyKey (string, requerido)

Diferencias entre canales

  • Telegram: 2-10 opciones. Soporta temas de foro vía threadId o destinos con :topic:. Usa durationSeconds en lugar de durationHours, limitado a 5-600 segundos. Soporta encuestas anónimas y públicas.
  • WhatsApp: 2-12 opciones, maxSelections debe estar dentro del conteo de opciones, ignora durationHours.
  • Discord: 2-10 opciones, durationHours se limita a 1-768 horas (por defecto 24). maxSelections > 1 habilita selección múltiple; Discord no soporta un conteo estricto de selección.
  • MS Teams: encuestas con Adaptive Cards (gestionadas por OpenClaw). No hay API nativa de encuestas; durationHours se ignora.

Herramienta del agente (Message)

Usa la herramienta message con la acción poll (to, pollQuestion, pollOption, opcionales pollMulti, pollDurationHours, channel).

Para Telegram, la herramienta también acepta pollDurationSeconds, pollAnonymous y pollPublic.

Usa action: "poll" para crear encuestas. Los campos de encuesta enviados con action: "send" se rechazan.

Nota: Discord no tiene modo “elegir exactamente N”; pollMulti corresponde a selección múltiple. Las encuestas de Teams se renderizan como Adaptive Cards y requieren que el gateway permanezca en línea para registrar votos en ~/.openclaw/msteams-polls.json.