diff --git a/TASKS.md b/TASKS.md index 48a0497..211b590 100644 --- a/TASKS.md +++ b/TASKS.md @@ -20,6 +20,7 @@ | Date | Task | |------|------| +| 2026-02-15 | Calendar-based reminders (at/yearly) with persistence | | 2026-02-15 | v1.1.0 (channel filter, JSON logging, dork, wayback, tests) | | 2026-02-15 | v1.0.0 (IRCv3, chanmgmt, state persistence) | | 2026-02-15 | Wave 4 (opslog, note, subdomain, headers, exploitdb, payload) | diff --git a/docs/CHEATSHEET.md b/docs/CHEATSHEET.md index fbdbf27..2864b25 100644 --- a/docs/CHEATSHEET.md +++ b/docs/CHEATSHEET.md @@ -273,6 +273,21 @@ MAXMIND_LICENSE_KEY=xxx ./scripts/update-data.sh # + GeoLite2 !timer cancel deploy # Cancel a timer ``` +## Remind + +``` +!remind 5m check oven # One-shot (in-memory) +!remind every 1h hydrate # Repeating (in-memory) +!remind at 2027-06-15 deploy # Calendar one-shot (persisted) +!remind at 2027-06-15 14:30 go # With explicit time +!remind yearly 02-14 valentines # Yearly recurring (persisted) +!remind yearly 12-25 09:00 xmas # Yearly with time +!remind list # Show active reminders +!remind cancel abc123 # Cancel by ID +``` + +Default time: 12:00. Timezone: `bot.timezone` config (default UTC). + ## Plugin Template ```python diff --git a/docs/USAGE.md b/docs/USAGE.md index 9843a85..2a6ff67 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -50,6 +50,7 @@ plugins_dir = "plugins" # Plugin directory path rate_limit = 2.0 # Max messages per second (default: 2.0) rate_burst = 5 # Burst capacity (default: 5) admins = [] # Hostmask patterns (fnmatch), IRCOPs auto-detected +timezone = "UTC" # Timezone for calendar reminders (IANA tz name) [logging] level = "info" # Logging level: debug, info, warning, error @@ -99,6 +100,12 @@ format = "text" # Log format: "text" (default) or "json" | `!timer [label]` | Set countdown timer with notification | | `!timer list` | Show active timers | | `!timer cancel