mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 07:20:45 +00:00
Merged via squash.
Prepared head SHA: f77824419e
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
3.2 KiB
3.2 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Poll sending via gateway + CLI |
|
Polls |
Polls
Supported channels
- Telegram
- WhatsApp (web channel)
- 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 123456789@g.us \
--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:abc@thread.tacv2 \
--poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi"
Options:
--channel:whatsapp(default),telegram,discord, ormsteams--poll-multi: allow selecting multiple options--poll-duration-hours: Discord-only (defaults to 24 when omitted)--poll-duration-seconds: Telegram-only (5-600 seconds)--poll-anonymous/--poll-public: Telegram-only poll visibility
Gateway RPC
Method: poll
Params:
to(string, required)question(string, required)options(string[], required)maxSelections(number, optional)durationHours(number, optional)durationSeconds(number, optional, Telegram-only)isAnonymous(boolean, optional, Telegram-only)channel(string, optional, default:whatsapp)idempotencyKey(string, required)
Channel differences
- Telegram: 2-10 options. Supports forum topics via
threadIdor:topic:targets. UsesdurationSecondsinstead ofdurationHours, limited to 5-600 seconds. Supports anonymous and public polls. - WhatsApp: 2-12 options,
maxSelectionsmust be within option count, ignoresdurationHours. - Discord: 2-10 options,
durationHoursclamped to 1-768 hours (default 24).maxSelections > 1enables multi-select; Discord does not support a strict selection count. - MS Teams: Adaptive Card polls (OpenClaw-managed). No native poll API;
durationHoursis ignored.
Agent tool (Message)
Use the message tool with poll action (to, pollQuestion, pollOption, optional pollMulti, pollDurationHours, channel).
For Telegram, the tool also accepts pollDurationSeconds, pollAnonymous, and pollPublic.
Use action: "poll" for poll creation. Poll fields passed with action: "send" are rejected.
Note: Discord has no “pick exactly N” mode; pollMulti maps to multi-select.
Teams polls are rendered as Adaptive Cards and require the gateway to stay online
to record votes in ~/.openclaw/msteams-polls.json.