77 lines
2.6 KiB
Markdown
77 lines
2.6 KiB
Markdown
|
|
---
|
|||
|
|
read_when:
|
|||
|
|
- 添加或修改投票支持
|
|||
|
|
- 调试从 CLI 或 Gateway 网关发送的投票
|
|||
|
|
summary: 通过 Gateway 网关 + CLI 发送投票
|
|||
|
|
title: 投票
|
|||
|
|
x-i18n:
|
|||
|
|
generated_at: "2026-02-03T07:43:12Z"
|
|||
|
|
model: claude-opus-4-5
|
|||
|
|
provider: pi
|
|||
|
|
source_hash: 760339865d27ec40def7996cac1d294d58ab580748ad6b32cc34d285d0314eaf
|
|||
|
|
source_path: automation/poll.md
|
|||
|
|
workflow: 15
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 投票
|
|||
|
|
|
|||
|
|
## 支持的渠道
|
|||
|
|
|
|||
|
|
- WhatsApp(Web 渠道)
|
|||
|
|
- Discord
|
|||
|
|
- MS Teams(Adaptive Cards)
|
|||
|
|
|
|||
|
|
## CLI
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 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"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
选项:
|
|||
|
|
|
|||
|
|
- `--channel`:`whatsapp`(默认)、`discord` 或 `msteams`
|
|||
|
|
- `--poll-multi`:允许选择多个选项
|
|||
|
|
- `--poll-duration-hours`:仅限 Discord(省略时默认为 24)
|
|||
|
|
|
|||
|
|
## Gateway 网关 RPC
|
|||
|
|
|
|||
|
|
方法:`poll`
|
|||
|
|
|
|||
|
|
参数:
|
|||
|
|
|
|||
|
|
- `to`(字符串,必需)
|
|||
|
|
- `question`(字符串,必需)
|
|||
|
|
- `options`(字符串数组,必需)
|
|||
|
|
- `maxSelections`(数字,可选)
|
|||
|
|
- `durationHours`(数字,可选)
|
|||
|
|
- `channel`(字符串,可选,默认:`whatsapp`)
|
|||
|
|
- `idempotencyKey`(字符串,必需)
|
|||
|
|
|
|||
|
|
## 渠道差异
|
|||
|
|
|
|||
|
|
- WhatsApp:2-12 个选项,`maxSelections` 必须在选项数量范围内,忽略 `durationHours`。
|
|||
|
|
- Discord:2-10 个选项,`durationHours` 限制在 1-768 小时之间(默认 24)。`maxSelections > 1` 启用多选;Discord 不支持严格的选择数量限制。
|
|||
|
|
- MS Teams:Adaptive Card 投票(由 OpenClaw 管理)。无原生投票 API;`durationHours` 被忽略。
|
|||
|
|
|
|||
|
|
## 智能体工具(Message)
|
|||
|
|
|
|||
|
|
使用 `message` 工具的 `poll` 操作(`to`、`pollQuestion`、`pollOption`,可选 `pollMulti`、`pollDurationHours`、`channel`)。
|
|||
|
|
|
|||
|
|
注意:Discord 没有"恰好选择 N 个"模式;`pollMulti` 映射为多选。
|
|||
|
|
Teams 投票以 Adaptive Cards 形式渲染,需要 Gateway 网关保持在线
|
|||
|
|
以将投票记录到 `~/.openclaw/msteams-polls.json`。
|