Install
openclaw skills install ping-meOne-shot reminders via natural language. Auto-detects channel and timezone. Say 'remind me...' in any language and get pinged when it's time. Works with ever...
openclaw skills install ping-meSet one-shot reminders through natural language. The reminder fires once, delivers to the user's current chat channel, then auto-deletes.
Response flow: Call the script first, then confirm with one short sentence. Keep it concise — no preamble, no time calculations, just the confirmation.
User says something like:
You parse the time and message, then call the script SILENTLY.
The script auto-detects which channel the user is chatting from.
--channel unless the user explicitly asks for a different channel--channel when the user explicitly says "remind me on telegram" / "发到飞书" / etc.--to)Some channels (e.g. QQ Bot) require a full delivery target for announce mode. The script resolves --to automatically from:
$OPENCLAW_TO environment variable (if gateway sets it)$OPENCLAW_SESSION_KEY (extracts target from session key format)config.json → "to" field (user-configured)If reminders fail with "requires target" error, the user needs to configure their target once:
bash {baseDir}/scripts/ping-me-config.sh --set to=qqbot:c2c:<openid>
You can also pass --to explicitly when calling the script.
bash {baseDir}/scripts/ping-me.sh [options] <time> <message>
Time formats:
| User says | You pass as <time> |
|---|---|
| "3分钟后" / "in 3 minutes" | 3m |
| "30分钟后" / "in 30 minutes" | 30m |
| "2小时后" / "in 2 hours" | 2h |
| "明天" / "tomorrow" | 1d |
| "明天下午3点" / "tomorrow at 3pm" | ISO 8601: 2026-03-11T15:00 (no tz offset needed, script uses configured tz) |
| "周五晚上8点" / "Friday 8pm" | ISO 8601 with calculated date |
IMPORTANT: For relative times (N分钟后, N小时后, in N minutes/hours), ALWAYS use the short form (3m, 2h, 1d). Do NOT convert to ISO timestamp.
Options:
--channel <ch> — override delivery channel (only when user explicitly requests)--to <dest> — override delivery target (e.g. qqbot:c2c:<openid>)--tz <tz> — override timezone for this reminder--emoji <e> — custom emoji prefixExamples:
bash {baseDir}/scripts/ping-me.sh 30m "Take a break"
bash {baseDir}/scripts/ping-me.sh 2h "Team meeting"
bash {baseDir}/scripts/ping-me.sh "2026-03-11T15:00" "Submit homework"
bash {baseDir}/scripts/ping-me.sh --channel telegram 1d "Renew subscription"
bash {baseDir}/scripts/ping-me-list.sh
bash {baseDir}/scripts/ping-me-cancel.sh <job-id>
bash {baseDir}/scripts/ping-me-config.sh # Show settings
bash {baseDir}/scripts/ping-me-config.sh --set tz=Asia/Tokyo # Change timezone
bash {baseDir}/scripts/ping-me-config.sh --set channel=qqbot # Change default channel
bash {baseDir}/scripts/ping-me-config.sh --set to=qqbot:c2c:<openid> # Set delivery target
bash {baseDir}/scripts/ping-me-config.sh --set emoji=🔔 # Change emoji
bash {baseDir}/scripts/ping-me-config.sh --set lang=zh # Change language
bash {baseDir}/scripts/ping-me-config.sh --reset # Reset to defaults
3m, 2h, 1d). For absolute times → ISO 8601 without tz offset--channel or --to unless user explicitly requests a specific channel, or the script fails without itping-me.sh with the parsed argumentsKeep responses concise. Call the script first, then confirm briefly:
No need to explain time conversion or timezone logic to the user — just confirm the reminder.
ping-me-list.shping-me-cancel.sh <id> (get ID from list first)When user wants to change settings, use ping-me-config.sh:
--set tz=Asia/Tokyo--set channel=feishu--set to=qqbot:c2c:<openid>--resetAfter changing settings, confirm with ONE sentence.
If the first reminder fails with a "requires target" or "multiple channels" error, guide the user to configure:
ping-me-config.sh --set channel=qqbotping-me-config.sh --set to=qqbot:c2c:<openid>The user's openid can be found in their QQ Bot session key or gateway logs.
--delete-after-run)$OPENCLAW_CHANNEL → config → empty$OPENCLAW_TO → session key extraction → config → empty{baseDir}/config.json