This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Voice — Join-to-Create
Pro User ein eigener Voice-Channel: Wer den Lobby-Channel betritt, bekommt automatisch einen frischen Channel im konfigurierten Category, mit Owner-Permissions zum Umbenennen, Sperren, Limit-Setzen, Kicken usw.
Aktivierung
In configs/config.yml:
addons:
voice: true
channels:
voice-lobby: "VOICE_CHANNEL_ID" # Lobby — User joint hier, kriegt eigenen Channel
Dann den Bot neu starten (oder /voice reload).
voice.yml
configs/modules/voice.yml:
enabled: true
lobbyChannelId: "0" # Override für channels.voice-lobby (0 = Fallback nutzen)
categoryId: "0" # In welchem Category neue Channels erstellt werden (0 = Parent der Lobby)
nameTemplate: "🎮 %user%" # Placeholders: %user% (= %user_name%), %user_id%
defaultLimit: 0 # User-Limit am neuen Channel (0 = unlimited, 1-99)
emptyDeleteSeconds: 30 # Auto-Delete-Timer wenn Channel leer (5-600s)
maxChannelsPerUser: 1 # Max parallele Channels pro User (1-5)
defaultBitrate: 64 # Bitrate in kbps (8-384)
| Feld | Default | Bedeutung |
|---|---|---|
lobbyChannelId |
"0" |
Wenn gesetzt, überschreibt channels.voice-lobby aus config.yml |
categoryId |
"0" |
Category für neue Channels — Fallback: Parent der Lobby |
nameTemplate |
"🎮 %user%" |
Channel-Name. Placeholders: %user% / %user_name% (Display-Name, identisch), %user_id% |
defaultBitrate |
64 |
Bitrate in kbps — wird automatisch auf guild.maximumBitrate gecappt, falls der Server-Boost-Tier weniger erlaubt |
defaultLimit |
0 |
Initiales User-Limit (kann der Owner mit /voice limit ändern) |
emptyDeleteSeconds |
30 |
Wie lange ein leerer Channel offen bleibt, bevor er gelöscht wird |
maxChannelsPerUser |
1 |
User mit Maximum kriegt keinen neuen Channel — wird in seinen bestehenden gemoved |
So funktioniert's
1. User joint #voice-lobby
2. Bot prüft: hat der User schon einen eigenen Channel?
- Ja, max erreicht → moved den User in den existierenden Channel
- Nein → erstellt neuen Channel mit:
• Name aus nameTemplate
• Category aus categoryId (oder Parent der Lobby)
• Permission-Overwrite: Owner kriegt ManageChannels + Move/Mute/Deafen/PrioritySpeaker
• User-Limit: defaultLimit
• Bitrate: defaultBitrate
3. Bot moved den User in den neuen Channel
4. Wenn der Channel später leer ist:
- Timer startet (emptyDeleteSeconds)
- Re-join → Timer abgebrochen
- Timer abgelaufen → Channel + DB-Eintrag gelöscht
Bei Bot-Restart
Beim Start scant der Bot alle bekannten Voice-Channels in der DB:
- Channel existiert nicht mehr in Discord → DB-Eintrag löschen
- Channel ist leer → Channel + DB-Eintrag löschen
- Channel hat User → in Ruhe lassen
⚠️ Cleanup verwendet
channel.fetch()statt Cache — der Cache ist direkt nach Restart oft unvollständig.
⚠️ Root-Channel-Warnung: Wenn
categoryIdnicht gesetzt ist und die Lobby kein Parent-Category hat, landet der neue Voice-Channel auf Server-Root. Der Bot loggt in dem Fall eine Warnung — Admins solltenvoice.yml > categoryIdkonfigurieren.
Move-Failure: Falls der Bot den User nicht in den neuen Channel moven kann (z.B. fehlende
Move Members-Permission im Target), wird der User aus der Lobby disconnected statt dort hängen zu bleiben.
Commands für den Owner
Funktionieren nur innerhalb des eigenen Voice-Channels.
| Command | Funktion |
|---|---|
/voice rename <name> |
Channel umbenennen (5 min Cooldown — schützt Discords Rate-Limit von 2 Renames pro 10 min) |
/voice lock |
Connect-Deny für @everyone — nur Trusted kommen rein |
/voice unlock |
Lock aufheben |
/voice limit <count> |
User-Limit setzen (0 = unlimited, 1–99) |
/voice kick <user> |
User aus dem Channel werfen |
/voice trust <user> |
User darf rein, auch wenn der Channel gelockt ist |
/voice untrust <user> |
Trust entfernen |
/voice transfer <user> |
Owner-Rechte abgeben (Target muss im Channel sein) |
/voice claim |
Verwaisten Channel übernehmen — geht nur wenn der Owner nicht mehr drin ist |
/voice info |
Channel-Details anzeigen |
Mehr Details auf der Voice Commands-Seite.
Admin-Commands
| Command | Berechtigung | Funktion |
|---|---|---|
/voice reload |
Server verwalten | Lädt voice.yml neu — neue Settings sofort aktiv |
FAQ
Was passiert wenn der Owner geht?
Der Channel bleibt offen, läuft aber irgendwann in den Auto-Delete-Timer (sobald keiner mehr drin ist). Solange noch jemand drin ist, kann ein anderer User mit /voice claim übernehmen.
Kann ein User mehrere Channels haben?
Ja, wenn maxChannelsPerUser > 1. Default ist 1 — der User wird in seinen bestehenden Channel gemoved statt einen neuen zu kriegen.
Was passiert beim Channel-Wechsel der Lobby?
Einfach voice-lobby in config.yml ändern und den Bot neu starten — der Bot benutzt den neuen Channel ab dem nächsten Join.
Audit-Log: Voice-Channel-Erstellung und -Löschung durch das Voice-Modul werden vom Server-Audit-Logger ganz normal als CHANNEL_CREATE / CHANNEL_DELETE mitgeschrieben — sichtbar im mod-log-Channel.
GrumpyCore Wiki
⚙️ Setup
🔧 Core-Module
🆕 Neue Module
💬 Commands
👥 Staff
GrumpyCore Wiki (English)
⚙️ Setup
🔧 Core Modules
🆕 New Modules
💬 Commands
👥 Staff