OpenClaw从入门到应用——CLI:Polls
通过OpenClaw实现副业收入《OpenClaw赚钱实录从“养龙虾“到可持续变现的实践指南》支持的渠道TelegramWhatsApp网页版渠道DiscordMS Teams自适应卡片命令行接口CLI# Telegramopenclaw message poll--channeltelegram--target123456789\--poll-questionShip it?--poll-optionYes--poll-optionNoopenclaw message poll--channeltelegram--target-1001234567890:topic:42\--poll-questionPick a time--poll-option10am--poll-option2pm\--poll-duration-seconds300# WhatsAppopenclaw message poll--target15555550123\--poll-questionLunch today?--poll-optionYes--poll-optionNo--poll-optionMaybeopenclaw message poll--target123456789g.us\--poll-questionMeeting time?--poll-option10am--poll-option2pm--poll-option4pm\--poll-multi# Discordopenclaw message poll--channeldiscord--targetchannel:123456789\--poll-questionSnack?--poll-optionPizza--poll-optionSushiopenclaw message poll--channeldiscord--targetchannel:123456789\--poll-questionPlan?--poll-optionA--poll-optionB--poll-duration-hours48# MS Teamsopenclaw message poll--channelmsteams--targetconversation:19:abcthread.tacv2\--poll-questionLunch?--poll-optionPizza--poll-optionSushi选项说明--channel指定渠道可选值为whatsapp默认、telegram、discord或msteams。--poll-multi允许选择多个选项。--poll-duration-hours仅适用于 Discord省略时默认为 24 小时。--poll-duration-seconds仅适用于 Telegram范围为 5-600 秒。--poll-anonymous/--poll-public仅适用于 Telegram用于设置投票的可见性匿名或公开。补充说明在使用 CLI 时请确保已正确配置对应渠道的认证凭据。对于 Telegram 的论坛话题Forum Topics可以通过threadId或在 target 中使用:topic:格式来指定具体话题。网关 RPC方法poll参数to(string, 必填)目标接收者标识。question(string, 必填)投票问题。options(string[], 必填)投票选项列表。maxSelections(number, 可选)最大可选择数量。durationHours(number, 可选)投票持续时间小时。durationSeconds(number, 可选, 仅限 Telegram)投票持续时间秒。isAnonymous(boolean, 可选, 仅限 Telegram)是否匿名投票。channel(string, 可选, 默认:whatsapp)指定发送渠道。idempotencyKey(string, 必填)幂等键用于防止重复提交。渠道差异Telegram支持 2-10 个选项。支持通过threadId或:topic:目标发送到论坛话题。使用durationSeconds而非durationHours限制在 5-600 秒之间。支持匿名和公开投票模式。WhatsApp支持 2-12 个选项maxSelections必须在选项数量范围内忽略durationHours参数。Discord支持 2-10 个选项durationHours被限制在 1-768 小时之间默认 24 小时。当maxSelections 1时启用多选模式Discord 不支持严格限定选择数量的功能。MS Teams使用自适应卡片Adaptive Cards渲染投票由 OpenClaw 管理。没有原生投票 APIdurationHours参数会被忽略。补充说明由于各平台底层 API 的限制跨渠道创建投票时需注意上述差异避免因参数不兼容导致创建失败。例如在 MS Teams 中无法设置投票截止时间而在 Telegram 中必须以秒为单位设置时长。Agent 工具消息使用message工具并配合poll动作包含to、pollQuestion、pollOption以及可选的pollMulti、pollDurationHours、channel。对于 Telegram该工具还接受pollDurationSeconds、pollAnonymous和pollPublic参数。创建投票时必须使用action: poll。如果在action: send中传递投票相关字段请求将被拒绝。注意Discord 没有“精确选择 N 项”的模式pollMulti映射为多选功能。Teams 的投票以自适应卡片形式渲染并且需要网关保持在线状态以便将投票记录存储在~/.openclaw/msteams-polls.json文件中。如果网关离线Teams 投票结果可能无法正确持久化。补充说明在开发 Agent 集成时建议对idempotencyKey进行唯一性管理以确保在网络重试场景下不会意外创建重复的投票。同时针对 Teams 渠道务必监控网关的运行状态保障投票数据的完整性。