feat: auto-assign Discord role to library members
Node.js CI / CI (pull_request) Failing after 35s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m9s

Implemented automatic Discord role assignment for users who are
members of the NHCarrigan server. This happens on every login:

- Check if user is in Discord server (ID: 1354624415861833870)
- Fetch user's current roles via Discord API
- Assign library member role if they don't have it yet
- Graceful error handling without blocking login

Uses Discord Bot API with proper permissions to manage roles.
Similar pattern to badge refresh on login.

Environment variables added:
- DISCORD_BOT_TOKEN: Bot token for Discord API calls
- LIBRARY_ROLE_ID: Role ID to assign (1474616681023279236)
This commit is contained in:
2026-02-20 20:14:56 -08:00
committed by Naomi Carrigan
parent e6b6131134
commit 536cf6e7f9
3 changed files with 51 additions and 0 deletions
+2
View File
@@ -16,6 +16,8 @@ DISCORD_GUILD_ID="op://Environment Variables - Naomi/Library/discord server id"
SPONSOR_ROLE_ID="op://Environment Variables - Naomi/Library/sponsor role id"
MOD_ROLE_ID="op://Environment Variables - Naomi/Library/mod role id"
STAFF_ROLE_ID="op://Environment Variables - Naomi/Library/staff role id"
DISCORD_BOT_TOKEN="op://Environment Variables - Naomi/Library/discord bot token"
LIBRARY_ROLE_ID="op://Environment Variables - Naomi/Library/library role id"
# Application URL
BASE_URL="op://Environment Variables - Naomi/Library/localhost url"