Dashboard Setup
Overview
The Aegis Bot dashboard provides a powerful interface for managing your Discord bot. This guide will walk you through the setup and configuration process.
Prerequisites
Before configuring the dashboard, ensure you have:
Node.js installed (v21.7.3)
Access to your Discord server with administrator permissions
Basic configuration
Step 1: Discord application setup
Discord Developer Portal
Go to the Discord Developer Portal.
Select your application (Bot).
Navigate to the OAuth2 section.
Add a redirect URL:
For production:
http://IP:PORT/api/auth/callbackFor local development:
http://localhost:PORT/api/auth/callback
Make sure to replace IP & PORT with actual values.
Copy your Client ID and Client Secret from the OAuth2 page.
Dashboard Configuration
In your dashboard.yml file, configure the following settings:
Dashboard:
Enabled: true
ClientID: "YOUR_CLIENT_ID"
ClientSecret: "YOUR_CLIENT_SECRET"
Url: "http://IP:PORT" # Use http://localhost:PORT for local development
Port: 7000
Auth:
JWTSecret: "YOUR_SECURE_JWT_SECRET" # Make sure this is at least 32 characters longImportant: The Url should not include /api/auth/callback
Replace the placeholders with your actual values:
YOUR_CLIENT_ID: Your Discord application's Client IDYOUR_CLIENT_SECRET: Your Discord application's Client SecretYOUR_SECURE_JWT_SECRET: A secure random string for JWT token encryption
Permissions Configuration
Configure role-based access control in your config.yml:
Permissions:
Dashboard:
Login: ["ROLE_ID_1", "ROLE_ID_2"] # Roles that can access the dashboard
Usage: ["ROLE_ID_1"] # Roles that can view analytics
Settings: ["ROLE_ID_1"] # Roles that can modify settings
Embed: ["ROLE_ID_1"] # Roles that can use the embed builder
Suggestions: ["ROLE_ID_1"] # Roles that can manage suggestionsNote: Login and dashboard pages won’t be available if roles are not configured.
Advanced configuration
You can customize the dashboard's navigation menu through the settings page:
Access the dashboard settings.
Navigate to Navigation Settings.
Add custom links with:
Name: Display name
URL: Target URL
Icon: FontAwesome icon name
External: Toggle for external links
Security considerations
JWT secret
Use a strong, random string for
JWTSecret.Minimum recommended length: 32 characters.
Keep this secret secure and never share it.
Common issues
Notes
Replace placeholders (Client ID, Client Secret, IP, PORT, JWT secret) with your actual values when configuring files.
Last updated
