# Discord Reminder System **Status:** ✅ Live **Channel:** #schedule (1474636036905631867) **Created:** 2026-02-25 **Files:** - `tools/reminder-manager.py` - Core Python logic - `tools/reminder-handler.ps1` - PowerShell wrapper - `skills/discord-reminder/SKILL.md` - Documentation - `data/reminders.db` - SQLite database ## How It Works 1. User says: `remind me 20m Call John` 2. I parse natural language time (20m, 2h, tomorrow 9am, etc.) 3. Create OpenClaw cron job for exact time 4. At trigger time, cron fires → sends Discord message 5. One-shot jobs auto-delete after firing ## Supported Time Formats | Format | Example | |--------|---------| | Minutes | `20m`, `5m` | | Hours | `2h`, `1h30m` | | Today time | `9am`, `2:30pm`, `15:00` | | Tomorrow | `tomorrow`, `tomorrow 9am` | ## Commands - `remind me [time] [message]` - Add reminder - `list reminders` - Show active reminders - `cancel reminder #[id]` - Cancel by ID ## Technical Details - **Backend:** OpenClaw cron + SQLite - **Delivery:** systemEvent → Discord channel - **Timezone:** America/Chicago (automatic DST handling) - **Cleanup:** Old reminders auto-delete via Daily Cron Cleanup job ## Testing History - ✅ 2026-02-25 - Basic 5m reminders working - ✅ 2026-02-25 - 3pm same-day reminders working - ✅ 2026-02-27 - Confirmed still working after 2 days ## Known Quirks - Must say "remind me" — "remind 4 minutes" won't work (by design) - One-shot reminders don't show in `list` after firing (auto-deleted) - All times are America/Chicago ## Future Ideas - [ ] Recurring reminders (daily, weekly) - [ ] Snooze functionality - [ ] Reminder categories/tags - [ ] DM reminders (vs channel-only)