Manage OzBargain cron workflows end-to-end: creation, updates, manual runs, dedupe, and delivery troubleshooting.
jobId: cron job id created for the userschedule: user-defined time + timezonedelivery: user-defined channel + destination (group/chat id)topics: user-defined priority orderlanguage: user-defined output languageNever hardcode a specific person, group id, job id, or topic order.
Keep these rules in the cron --message prompt unless the user overrides them:
Use a user-specific state file, e.g.:
/home//.openclaw/workspace/data/ozbargain-sent-links.json Initial content if missing:
{ "sent": [] }
Dedup key: canonical OzBargain link (node/goto preferred).
Required behavior per run:
sentsent and save deduped stateopenclaw cron add --name "<job-name>" --cron "<expr>" --tz "<timezone>" --session isolated --announce --channel <channel> --to "<destination>" --message "<prompt>"
openclaw cron run <job-id>
openclaw cron runs --id <job-id> --limit 1
Then report whether delivery succeeded (delivered: true / deliveryStatus: delivered).
openclaw cron edit <job-id> --message "..."
Only change schedule/channel when user asks.
openclaw cron edit <job-id> --announce --channel <channel> --to "<destination>"
openclaw cron list --json
openclaw cron runs --id <job-id> --limit 5
If cron run succeeded but delivery failed:
message.sendCommon causes:
Useful log grep:
grep -n "message failed\|sendMessage\|announce delivery failed\|forbidden\|chat not found" /tmp/openclaw/openclaw-$(date +%F).log
共 2 个版本