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
This commit is contained in:
MythEclipse
2026-05-21 15:27:10 +07:00
parent bfa91063ff
commit cc6975825f
13 changed files with 162 additions and 22 deletions
+5 -1
View File
@@ -55,11 +55,13 @@ jobs:
DISCORD_GUILD_ID: ${{ secrets.DISCORD_GUILD_ID }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
BOOSTER_ROLE_ANCHOR_ROLE_ID: ${{ secrets.BOOSTER_ROLE_ANCHOR_ROLE_ID }}
BOOSTER_ELIGIBILITY_ROLE_ID: ${{ secrets.BOOSTER_ELIGIBILITY_ROLE_ID }}
LOG_LEVEL: ${{ secrets.LOG_LEVEL }}
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
envs: IMAGE_NAME,GHCR_USERNAME,GHCR_TOKEN,DISCORD_TOKEN,DISCORD_CLIENT_ID,DISCORD_GUILD_ID,DATABASE_URL,BOOSTER_ROLE_ANCHOR_ROLE_ID
envs: IMAGE_NAME,GHCR_USERNAME,GHCR_TOKEN,DISCORD_TOKEN,DISCORD_CLIENT_ID,DISCORD_GUILD_ID,DATABASE_URL,BOOSTER_ROLE_ANCHOR_ROLE_ID,BOOSTER_ELIGIBILITY_ROLE_ID,LOG_LEVEL
script: |
set -eu
mkdir -p /opt/booster-role
@@ -71,6 +73,8 @@ jobs:
DISCORD_GUILD_ID=${DISCORD_GUILD_ID}
DATABASE_URL=${DATABASE_URL:?DATABASE_URL is required}
BOOSTER_ROLE_ANCHOR_ROLE_ID=${BOOSTER_ROLE_ANCHOR_ROLE_ID}
BOOSTER_ELIGIBILITY_ROLE_ID=${BOOSTER_ELIGIBILITY_ROLE_ID:-1206431347925852162}
LOG_LEVEL=${LOG_LEVEL:-info}
EOF
cat > docker-compose.yml <<EOF