-
Notifications
You must be signed in to change notification settings - Fork 3
Discord Integration
Nishanth S edited this page May 8, 2026
·
1 revision
Teambuilder uses discord.js to manage the EPICS Discord bot and its server operations.
Primary code paths:
- server/services/discordBotService.ts
- server/integrations/discordBot/src/index.ts
- server/integrations/discordBot/src/handlers/eventHandler.ts
- pages/SCIPE.vue
- API routes under
server/api/discord/(see the individual route files in that folder)
Teambuilder uses Discord to automate project communication setup:
- Starts and stops the Discord bot.
- Creates or deletes project channels.
- Assigns project roles to users.
- Runs diagnostics to compare Discord state with the database.
- Displays health, uptime, and error status in the UI.
Relevant API actions:
- GET /api/discord/status
- POST /api/discord/start
- POST /api/discord/stop
- POST /api/discord/restart
- POST /api/discord/update-channels
- POST /api/discord/delete-channels
- POST /api/discord/delete-roles
- POST /api/discord/assign-project-roles
- GET /api/discord/diagnostics
- GET /api/discord/project-roles
Discord is used to automatically provision team communication spaces so staff do not need to create channels and roles manually each semester.
This keeps the Discord server synchronized with active projects and team membership in the database.
- Bot authentication and login
- Guild access
- Guild member lookup
- Channel creation and deletion
- Role creation, deletion, and assignment
- Permission and diagnostics checks
- pages/SCIPE.vue
- pages/teams.vue for team membership context
- pages/projects.vue for project activation context
- Project names and statuses determine which Discord channels and roles should exist.
- Team membership determines role assignment.
- Student Discord usernames come from the
discordfield on student records.
- The bot can start even when credentials are missing in development, but production requires valid Discord credentials.
- The UI is intended as an operations console for diagnostics and provisioning.
Wiki
Website Functionality
Demographics Workflows
Project Plans
- [S25] Team Formation Plan
- [S25] Demographics Plan
- [F24] Team Formation Plan
- [F24] GitHub/Discord Plan
- [F24] Demographics Plan
Resources