OzBargain Monitor
Manage OzBargain cron workflows end-to-end: creation, updates, manual runs, dedupe, and delivery troubleshooting.
User-configurable profile (set these first)
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 language
Never hardcode a specific person, group id, job id, or topic order.
Default quality rules
Keep these rules in the cron --message prompt unless the user overrides them:
- Keep only high-value deals
- Keep output concise and structured
- Include per item: title, price/benefit, why worth it, direct link
- If nothing strong appears, explicitly output a “no high-value deals today” line
- Avoid ad noise/low-value posts
Dedupe state (required)
Use a user-specific state file, e.g.:
/home/<user>/.openclaw/workspace/data/ozbargain-sent-links.json
Initial content if missing:
{ "sent": [] }
Dedup key: canonical OzBargain link (node/goto preferred).
Required behavior per run:
- Read state file first
- Filter out links already in
sent - Send only unseen links
- Append newly sent links back to
sentand save deduped state
Operations
Create a new job
openclaw cron add --name "<job-name>" --cron "<expr>" --tz "<timezone>" --session isolated --announce --channel <channel> --to "<destination>" --message "<prompt>"
Manual catch-up run
openclaw cron run <job-id>
openclaw cron runs --id <job-id> --limit 1
Then report whether delivery succeeded (delivered: true / deliveryStatus: delivered).
Update topic order / wording
openclaw cron edit <job-id> --message "..."
Only change schedule/channel when user asks.
Change delivery destination
openclaw cron edit <job-id> --announce --channel <channel> --to "<destination>"
Verify status
openclaw cron list --json
openclaw cron runs --id <job-id> --limit 5
Troubleshooting
If cron run succeeded but delivery failed:
- Check run history error text
- Check logs for channel API errors
- Send a probe directly to destination using
message.send
Common causes:
- wrong/old destination id
- bot removed from group
- permissions/visibility restrictions
- temporary provider/API failures
Useful log grep:
grep -n "message failed\|sendMessage\|announce delivery failed\|forbidden\|chat not found" /tmp/openclaw/openclaw-$(date +%F).log