Skip to content

feat: add reminder system with mention-style creation and /reminders command#4

Merged
cherryroots merged 10 commits intomainfrom
worktree-reminders
Feb 22, 2026
Merged

feat: add reminder system with mention-style creation and /reminders command#4
cherryroots merged 10 commits intomainfrom
worktree-reminders

Conversation

@cherryroots
Copy link
Owner

@cherryroots cherryroots commented Feb 22, 2026

Summary

  • Add mention-style reminder creation (@Volt remind me in 2h check the oven / @Volt remind me at 15:04 EST movie night) — intercepts in the message handler before Gemini, memory extraction still fires
  • Persist reminders to SQLite (fire_at as Unix integer), schedule with time.AfterFunc; survives bot restarts via reminder.Init on startup
  • Add /reminders slash command: ephemeral list with Discord relative timestamps (<t:UNIX:R>), select-menu delete (capped at 25 options)

New files

  • internal/reminder/parse.go — time parser supporting relative offsets (in 2h30m) and absolute datetimes (at 2026-03-01 15:04 EST) with IANA + abbreviation timezone support
  • internal/reminder/reminder.goInit, Add, Delete, GetUserReminders, TotalActive; mutex-safe timer map, base64 image storage

Test Plan

  • @Volt remind me in 10s test → confirmation reply with <t:UNIX:R>; fires ~10s later in channel
  • @Volt reminder at HH:MM UTC message → fires at absolute time
  • /reminders → ephemeral list of pending reminders with delete select menu
  • Select a reminder from dropdown → "✅ Reminder deleted!"
  • Restart bot mid-reminder → reminder still fires after restart
  • go test ./... -timeout 60s passes (reminder package has full unit test coverage)

🤖 Generated with Claude Code

cherryroots and others added 10 commits February 22, 2026 00:28
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… scheduling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…der package

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…spatch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ect menu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s handler

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cherryroots cherryroots merged commit 745ce5b into main Feb 22, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant