Skip to content

Merge TimerBot's timer functionality into InfinityBot - #18

Open
nextinfinity wants to merge 1 commit into
mainfrom
feat/timerbot-integration
Open

nextinfinity wants to merge 1 commit into
mainfrom
feat/timerbot-integration

Conversation

@nextinfinity

Copy link
Copy Markdown
Owner

Summary

Port the unique functionality of TimerBot into InfinityBot as /timer (source: nextinfinity/TimerBot@f6128bb).

  • Preserve all seven options: name, text channel, length, notification interval, one-minute warning, user/role mention, and return voice channel.
  • Preserve start/update/completion messages, warning deduplication, and completion-time return of all connected voice members after a three-second delay.
  • Adapt the command to InfinityBot’s existing constructor-based command discovery; no new dependencies, intents, environment variables, or music behavior changes.
  • Port TimerBot’s deterministic tests and document usage, permissions, restart limitations, and manual smoke testing.

Both bots already share the same healthcheck and voice-state intent, so those require no additional integration.

Validation

  • ./gradlew check shadowJar with JDK 25: passed.
  • 42 tests passed, including 10 timer tests covering schedules, mentions, defaults, guild-only invocation, and connected-member voice return.
  • git diff --cached --check: passed.
  • No live Discord test performed; after deployment, verify reminders, mentions, and voice movement using actual channel permissions.

Operational notes

Voice return intentionally moves all connected voice users in the server, matching TimerBot. It requires Move Members and destination-channel access. Timers are in-memory and do not survive bot restarts; voice return depends on successful completion-message delivery.

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