Create one-time reminder tasks using OpenClaw cron.
When user says "remind me to XXX in 30 seconds" or "remind me at 3pm", I create a cron job that executes the task and returns the result when the time comes.
--session main - Use main session to inherit Discord context--system-event - System event payload for main session--channel discord - Discord channel--announce - Send result directly to Discord--delete-after-run - Delete task after executionUse session_status tool to get current session's deliveryContext:
--agent - Get from deliveryContext.accountId (e.g., machu)--to - Get from deliveryContext.to (e.g., channel:1476104553148452958)How to get:
# Get current session info
session_status
# Output contains deliveryContext:
# {
# "channel": "discord",
# "to": "channel:1476104553148452958",
# "accountId": "machu"
# }
Parse user input time, support:
30 seconds, 1 minute, 30 minutes, 2 hours, 1 day3pm, 9am today, 12pm tomorrowConvert to ISO 8601 format for cron.
User says "remind me to check weather in 30 seconds":
# 1. Get current session's deliveryContext
session_status
# Assume output:
# {
# "deliveryContext": {
# "channel": "discord",
# "to": "channel:1476104553148452958",
# "accountId": "machu"
# }
# }
# 2. Calculate time 30 seconds later
date -u -d "+30 seconds" +"%Y-%m-%dT%H:%M:%SZ"
# Result: 2026-02-26T13:30:00Z
# 3. Create cron job (using main session + system-event)
openclaw cron add \
--name "reminder-weather" \
--at "2026-02-26T13:30:00Z" \
--session main \
--system-event "Check Beijing weather" \
--agent machu \
--announce \
--channel discord \
--to "channel:1476104553148452958" \
--delete-after-run
User-specified task content must be sanitized before passing to cron:
The script rejects any input containing:
$(), backticks ` ``;, |, &, >, <" (breaks CLI quoting)\n (can inject multiple commands)sudo, rm, wget, curl, bash, etc. Use scripts/sanitize-message.sh to validate input:
```bash
./scripts/sanitize-message.sh "user's task content"
# Exit code 0 = safe, non-zero = rejected
```
After creating the task, reply to user to confirm:
--session main + --system-event for reliable Discord delivery共 1 个版本