Overview
The bot requires significant effort to set up on a new Discord server. Currently, channels, roles, and permissions must be configured manually for each server. We need an idempotent setup command (e.g., /setup) that automates the creation of the necessary infrastructure to reduce maintenance overhead.
Proposed Solutions
Solution 1: Automatic /setup Command (Recommended)
The bot creates required channels, roles, permissions, and categories automatically via a single command.
Advantages:
- Minimal manual setup for new servers
- Consistent structure across all servers
- Easy to maintain and update via configuration file
- Straightforward to implement
Implementation:
- Define server structure in a configuration file (JSON/TypeScript)
- Bot creates all necessary resources when
/setup is executed
- Requires the bot to have channel/role management permissions
Solution 2: Dynamic Channel Discovery
The bot discovers channels by category or type rather than relying on hardcoded names, and stores channel IDs in a database.
Advantages:
- Flexible server layouts (admins choose which channels to use)
- Less rigid structure
- Uses commands like
/set-ta-channel #channel-name to configure
Disadvantages:
- More complex implementation
- Requires additional database logic
Solution 3: Hybrid Approach
Combine automatic setup for essential infrastructure with manual configuration for optional channels via database-stored channel IDs.
The goal is to get the Server/Bot setup portion of the readme to be as close to "do /setup" as possible
Overview
The bot requires significant effort to set up on a new Discord server. Currently, channels, roles, and permissions must be configured manually for each server. We need an idempotent setup command (e.g.,
/setup) that automates the creation of the necessary infrastructure to reduce maintenance overhead.Proposed Solutions
Solution 1: Automatic
/setupCommand (Recommended)The bot creates required channels, roles, permissions, and categories automatically via a single command.
Advantages:
Implementation:
/setupis executedSolution 2: Dynamic Channel Discovery
The bot discovers channels by category or type rather than relying on hardcoded names, and stores channel IDs in a database.
Advantages:
/set-ta-channel #channel-nameto configureDisadvantages:
Solution 3: Hybrid Approach
Combine automatic setup for essential infrastructure with manual configuration for optional channels via database-stored channel IDs.
The goal is to get the Server/Bot setup portion of the readme to be as close to "do
/setup" as possible