Commit Graph
31 Commits
Author SHA1 Message Date
MythEclipseandClaude Opus 4.8 03c5f73891 fix(dockerfile): run db migration before bot startup
Adds auto-migration step to fix missing color2 column.
Also adds drizzle.config.ts and db migration files to image.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 19:01:23 +07:00
MythEclipse 8ff46104f1 feat(boost-greeting): implement randomized greeting messages
Introduce a collection of greeting templates to provide variety when
a user boosts the server. The system now selects a random message
from the available variants and logs the selected variant index.
2026-06-06 03:39:25 +07:00
MythEclipse 97442265ba test(boost-greeting): update greeting message to Indonesian
Update the boost greeting message and its corresponding test assertions
to use Indonesian instead of English.
2026-06-06 03:38:37 +07:00
MythEclipse b2cd402adc ``` 2026-06-06 03:31:36 +07:00
MythEclipse 9c193c3530 feat(boost-greeting): integrate greeting into guild member update and clean up handler 2026-06-06 03:30:16 +07:00
MythEclipse 898ae2dd56 feat(config): add BOOSTER_GREETING_CHANNEL_ID environment variable 2026-06-06 03:29:21 +07:00
MythEclipse 0f6d9110a3 test: add boost cleanup service tests and expand booster role test coverage 2026-06-06 03:11:59 +07:00
MythEclipse a796034241 fix(discord): migrate deprecated Zod error.errors to error.issues and add CI quality gates 2026-06-06 03:08:38 +07:00
MythEclipse 187d6eba23 chore: session auto-commit 2026-06-06 03:08:16 +07:00
MythEclipse 917714f237 feat(discord): add Zod schema validation for booster-role command inputs 2026-06-06 03:07:47 +07:00
MythEclipse 66d3b5e997 refactor: remove unused anchorRoleId parameter from DiscordRoleRepository and decentralize type definitions 2026-06-06 03:06:00 +07:00
MythEclipse 03e2a28e97 feat(domain): introduce typed error classes and replace fragile string-based error handling 2026-06-06 03:04:18 +07:00
MythEclipse e90a776a21 chore: initialize project scaffolding with comprehensive .gitignore and data store 2026-06-06 02:57:00 +07:00
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 01450d976c refactor(discord): loosen interaction reply and defer requirements
Update `ChatInputInteractionLike` to make `flags` optional in `reply` and `deferReply` methods. This simplifies the interaction handling logic and aligns the implementation with the test suite by removing strict requirements for ephemeral flags in certain contexts.
2026-06-06 02:35:39 +07:00
MythEclipse bf03af53af feat: add color2 gradient color support and defer interactions for slow commands 2026-06-06 00:48:41 +07:00
MythEclipse 0dbd2b22c7 a 2026-06-06 00:42:10 +07:00
MythEclipse 5c480cea59 chore: add Claude agent operational files and codegraph database 2026-06-06 00:39:01 +07:00
MythEclipse c155c94ea2 feat: enhance booster role functionality with error handling and database migration 2026-05-21 15:44:17 +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 bfa91063ff feat: migrate from SQLite to PostgreSQL and update database handling 2026-05-21 15:11:32 +07:00
MythEclipse 4a47855ad4 fix: change restart policy to always for booster-role service in docker-compose 2026-05-21 04:10:35 +07:00
MythEclipse 4a504639cd fix: correct role position calculation in resolvePosition method 2026-05-18 20:30:49 +07:00
MythEclipse dd22f0bb1f feat: add Docker configuration files for deployment and containerization 2026-05-16 00:41:23 +07:00
MythEclipse 41c6b567a6 feat: enhance role handling by updating reply structure and adding role assignment functionality 2026-05-16 00:32:29 +07:00
MythEclipse c6ee7bb8c6 feat: implement prepareSqlitePath function and add tests for database path handling 2026-05-16 00:12:31 +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 9d0322b118 feat: add optional role icon support and validation for booster roles 2026-05-15 23:23:16 +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
MythEclipse 63d3e0a8c1 add CLAUDE.md for project guidance and development workflow 2026-05-15 22:42:12 +07:00