Commit Graph
5 Commits
Author SHA1 Message Date
MythEclipse 57699d60a8 feat(services): implement periodic booster role cleanup
Add a new `boostCleanupService` to periodically scan guilds and remove
custom booster roles and database records for members who are no longer
eligible (e.g., lost boost status or left the server). This ensures
data consistency even if the bot was offline during status changes.

- Implement `startBoostCleanup` with configurable intervals
- Add `findByGuild` to `BoosterRoleStore` for batch processing
- Update `DrizzleBoosterRoleStore` to support guild-based lookups
- Add configuration for `boostCleanupIntervalMs`
2026-06-06 02:46:38 +07:00
MythEclipse cc6975825f feat: add booster eligibility role and logging functionality
- Added BOOSTER_ELIGIBILITY_ROLE_ID and LOG_LEVEL to .env.example and README.md
- Updated GitHub Actions workflow to include new environment variables
- Enhanced configuration loading to support booster eligibility role
- Implemented role checking logic in bot handlers and guild member updates
- Introduced logging using Winston for better traceability of actions
- Created tests for guild member update handling to ensure correct role removal
- Refactored DiscordRoleRepository to simplify role position resolution
2026-05-21 15:27:10 +07:00
MythEclipse acd4648d49 feat: update booster role eligibility logic and refactor related services 2026-05-16 00:06:13 +07:00
MythEclipse 972400e4e4 feat: implement command registration for booster role bot and add tests 2026-05-15 23:45:47 +07:00
MythEclipse c6b1087eb3 feat: initialize booster role bot with database and Discord integration
- Add drizzle configuration for SQLite database
- Create package.json with necessary dependencies and scripts
- Implement configuration loading for Discord bot
- Define permissions for roles
- Set up database schema for booster roles
- Create Discord client and commands for managing booster roles
- Handle guild member updates to manage roles based on boost status
- Implement boost eligibility checks and role management logic
- Add tests for boost eligibility and role guards
- Create service for managing booster roles with in-memory storage for testing
- Configure TypeScript settings for the project
2026-05-15 23:03:35 +07:00