Beta server and role come from the dashboard

The owner sets them on the admin page; the bot polls the shared beta_settings
row (30s) and moves the beta commands if the server changes. BETA_* env vars
are gone.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
FernandoJVideiraandClaude Sonnet 5.5 committed 2026-10-23 00:55:09 +01:00
1 parent a364435bab
commit 1ee6280d91
7 files changed
+157 -24

No files matched your search

+1 -3
View File
@@ -35,8 +35,6 @@ Required:
- `BOT_TOKEN`: Discord bot token
- `APP_ID`: Discord application ID
- `GUILD_ID`: Target guild/server ID (commands are registered per-guild)
- `BETA_GUILD_ID`: Server where beta features exist (defaults to the Velox server)
- `BETA_ROLE_ID`: ID of the "Beta Tester" role. Beta features work only for members of the beta server who have this role; if unset, they stay locked for everyone
- `DB_HOST`: Postgres connection string (pgx), e.g. `postgres://velox:velox_pwd@localhost:5432/velox?sslmode=disable`
Optional (music):
@@ -148,5 +146,5 @@ just down # stop postgres
## Notes
- Slash commands are registered to the configured `GUILD_ID` on startup.
- Beta features: add the command with `commands.RegisterBeta(cmd, handler)` instead of `AllCommands`. It is registered only in `BETA_GUILD_ID` and the handler runs only for members with `BETA_ROLE_ID`. `/beta` (bot owner only) shows how access is set up. To release a feature, move it into `AllCommands` and the handler map.
- Beta features: add the command with `commands.RegisterBeta(cmd, handler)` instead of `AllCommands`. It is registered only in the beta server and the handler runs only for members with the Beta Tester role. The owner picks both on the dashboard (Admin, Beta access); the bot reads them from the database every 30 seconds, so there is nothing to set in `.env`. Until a role is set, beta features are locked for everyone. `/beta` (bot owner only) shows how access is set up. To release a feature, move it into `AllCommands` and the handler map.
- Some features require server permissions (e.g. **Manage Server**) or roles (e.g. **DJ** for music).