Repository navigation
Conversation
8 tasks
Contributor
|
Harambe update from module-request scout: Discord follow-up source: SVMOTNIK in #module-development, 2026-07-22T16:24:22Z ( Implemented in
Verification:
Not included yet: random/varying reward intervals ( |
9 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a configurable playtime-based item reward module that grants items after accumulated playtime, including role-specific reward profiles for Takaro and Discord-synced roles. Server owners can use a fixed interval or set a minimum and maximum so every player receives a persistent random interval for each reward cycle. Successful reward messages can be broadcast, private, both, or disabled.
Closes #59.
Catalog follow-up: gettakaro/community-modules-viewer#261
Architecture
What Changed
playtimeIntervalMinutesas the minimum and fixed default, and adds optionalplaytimeIntervalMaximumMinutesfor inclusive random ranges such as 120–300 minutes.broadcast,private,both, andoff; private delivery targets only the rewarded player's game identity.Reviewer Guide
modules/playtime-item-rewards/module.jsonshows the complete administrator-facing configuration and descriptions.modules/playtime-item-rewards/src/functions/playtime-item-reward-helpers.jsresolves profiles, persists schedules, claims cycles, grants items, and sends messages.[profileName, intervalMinutes]state is converted into the new schedule model without reopening consumed rewards.docs/verification/2026-07-23-playtime-item-rewards-random-intervals.mdrecords the live Paper execution, private recipient, item delivery, stable next schedule, disconnect, and reconnect.Testing Plan
Automated
npm run buildnpm run typecheckLive Paper
CI Note
The current GitHub integration job did not reach the test command because the bootstrap could not pull
takaro-app-api:latestfrom ECR (manifest unknown). The separate build/typecheck job passed; the focused real-API suite and mandatory Paper flow passed locally on this exact head.