Add Task #98: Discord Server Channel Automation

- Bot command to auto-create category + 4 channels per server
- Includes delete command for server retirement
- QoL improvement for Holly
- Updated backlog with new task (MEDIUM priority)

Chronicler #66
This commit is contained in:
Claude
2026-04-07 17:29:47 +00:00
parent 705a0dc7df
commit 7f91d6e17d
2 changed files with 132 additions and 3 deletions

View File

@@ -29,6 +29,7 @@ Operational improvements and infrastructure hardening.
| 40 | World Backup Automation | Data protection |
| 22 | Netdata Deployment | System monitoring on all servers |
| 92 | Desktop MCP + Dispatch | Architecture done, Buffer MCP added. Blocked on hardware (Pi) |
| 98 | Discord Server Channel Automation | Bot command to auto-create category + 4 channels per server. QoL for Holly. |
| — | Brand Guidelines PDF Review | Upload from Chromebook, add fonts |
---
@@ -146,12 +147,12 @@ These tasks are no longer relevant due to architecture changes:
| Priority | Count |
|----------|-------|
| HIGH | 4 |
| MEDIUM | 7 |
| MEDIUM | 8 |
| LOW | 11 |
| PERSONAL | 7 |
| BLOCKED | 1 |
| WISH LIST | 1 |
| **TOTAL ACTIVE** | **31** |
| WISH LIST | 2 |
| **TOTAL ACTIVE** | **33** |
---

View File

@@ -0,0 +1,128 @@
# Task #98: Discord Server Channel Automation
**Created:** April 7, 2026
**Created By:** Chronicler #66
**Owner:** Holly (primary beneficiary), Michael (implementation)
**Priority:** MEDIUM
**Status:** Backlog
---
## Problem
When a new Minecraft server is added, Holly must manually create:
1. A category named after the server
2. Text channel: `chat`
3. Text channel: `in-game-chat`
4. Forum channel: `forum`
5. Voice channel: `voice`
6. Set permissions on all channels
7. Position everything under the Servers category
With 20 servers, this is 100+ manual actions. Each new server adds 5 more.
---
## Solution
Automate Discord channel creation via the Discord API.
**Trigger options (pick one):**
| Option | Trigger | Complexity |
|--------|---------|------------|
| A | Bot command: `!createserver "Stoneblock 4"` | Low |
| B | Trinity Console button when adding server | Medium |
| C | Automatic when server added to Pterodactyl | High |
**Recommendation:** Start with **Option A** (bot command) — fastest to implement, Holly can use immediately.
---
## Technical Requirements
**Discord Bot Permissions Needed:**
- Manage Channels
- Manage Roles (if setting permissions)
**Arbiter already has a Discord bot** — just needs these permissions granted in Discord server settings.
**API Endpoints:**
- `POST /guilds/{guild.id}/channels` — Create channel
- `PATCH /channels/{channel.id}` — Modify channel (position, permissions)
- `DELETE /channels/{channel.id}` — Delete channel (for retirement)
**Channel Types:**
- `0` = Text (chat, in-game-chat)
- `2` = Voice
- `4` = Category
- `15` = Forum
---
## Implementation Outline
```javascript
// Pseudocode for !createserver command
async function createServerChannels(serverName) {
const guild = /* get guild */;
const serversCategory = /* find "Servers" category */;
// 1. Create category for this server
const category = await guild.channels.create({
name: serverName,
type: 4, // Category
parent: serversCategory.id
});
// 2. Create channels under category
const channels = [
{ name: 'chat', type: 0 },
{ name: 'in-game-chat', type: 0 },
{ name: 'forum', type: 15 },
{ name: 'voice', type: 2 }
];
for (const ch of channels) {
await guild.channels.create({
name: ch.name,
type: ch.type,
parent: category.id
});
}
return `Created ${serverName} with 4 channels`;
}
```
---
## Future Enhancements
1. **Delete command:** `!deleteserver "Stoneblock 4"` — removes category and all channels when server retired *(confirmed needed)*
2. **Discord-Minecraft integration:** `in-game-chat` channel planned to connect to Minecraft via a mod (e.g., Discord Integration, dclink, or similar Forge/NeoForge mod)
3. **Permission templates:** Auto-apply role permissions (subscribers only, etc.)
4. **Trinity Console integration:** Button in admin panel instead of bot command
---
## Acceptance Criteria
- [ ] Holly can type `!createserver "Server Name"` in Discord
- [ ] Bot creates category + 4 channels with correct types
- [ ] Channels appear under the Servers category
- [ ] Permissions match existing manual setup
- [ ] `!deleteserver "Server Name"` removes all channels (stretch goal)
---
## Notes
- All 4 channels have the same permissions (confirmed by Michael)
- Delete command confirmed needed for server retirement
- `in-game-chat` Discord-Minecraft integration is planned (needs Forge/NeoForge mod, not plugin)
- This is a quality-of-life improvement for Holly, not a launch blocker
---
**Fire + Frost + Foundation = Where Love Builds Legacy** 🔥❄️