.gitignored for security.
Environment Variables (.env)
Copy .env.example to .env and fill in the values.
Required Variables
Production Variables
Optional Variables
Production Toggle Behavior
ThePRODUCTION flag controls which set of credentials the bot uses:
Environment variables are strings. Token, client ID, and guild ID selection compare against
"true", but MongoDB URI selection uses process.env.PRODUCTION truthiness. With PRODUCTION=false as a string, config.handler.mongodb.uri may still select MONGODB_URI. Verify the generated src/config.js values before running a bot. See the Engineering Guide for details.Runtime Configuration (src/config.js)
Copy src/example.config.js to src/config.js and customize.
Structure
Key Configuration Notes
moderation.developers
Array of Discord user ID strings. Users listed here can use developer-only commands (/eval, /deploy, /badge, etc.). If this array is empty or missing, all developer commands are blocked with a configuration error message.
See Security for eval sandbox rules and developer command gates.
moderation.staffRoles
Array of Discord role ID strings. Members with any of these roles can use staff-only commands.
handler.commands.prefix
Set to true to enable prefix commands (?help, ?ping, etc.). Disabled by default.
handler.mongodb.toggle
Set to false to skip the database connection entirely. The bot will start but all database-dependent features (economy, AFK, tickets, etc.) will fail.
variables.channels.botGuilds / botUsers
The bot renames these channels every 30 minutes to display current guild and user counts. If these IDs are empty or invalid, the bot will log non-fatal errors periodically. Set to valid voice channel IDs in your support guild, or leave empty and ignore the errors.
Per-Guild Prefix
Each guild can set a custom prefix with?prefix set <new_prefix>. Custom prefixes are stored in the guildschemas MongoDB collection. If no custom prefix is set, the default from handler.prefix is used.