Settings-Discord-Party-Plugin

Discord Party Configuration

Runs your Discord karaoke room for you. Only the singer whose song is playing can talk, missing singers get paged automatically, and filler music can play into the channel between songs. You run QUP; the bot runs the room.

QUP moves an "On Stage" role as the rotation advances, rather than server-muting people. That matters: a server-mute sticks to a user across sessions and channels, so the classic failure is somebody turning up next week still muted with nobody remembering why. A role has no such memory.

How a show runs

You screen-share QUP (the CDG window and its audio) into the karaoke voice channel with Go Live. By convention only the current singer opens that share — it's their private feed. The singer sets their Discord input to Stereo Mix with "listen to this device" enabled on their microphone, so the room hears the karaoke and their voice as one already-synced stream.

Everything else — who can talk, who's up, what fills the gaps — is what this plugin handles.

Bot

Create an application at discord.com/developers/applications, open the Bot tab, click Reset Token, and paste the token here. No privileged intents are needed.

Bot token — The token from the developer portal. Treat it like a password; anyone holding it controls your bot.

Connect / Disconnect — Brings the bot online or takes it offline. Disconnecting also unlocks the room and clears the stage, so it's safe to use mid-show.

Copy invite URL — Copies a link that adds the bot to your server with exactly the permissions it needs. Open the link in a browser and pick your server. Use this rather than hand-picking permissions — under-granting Manage Roles is the usual reason setup fails.

After inviting, go to Server Settings → Roles and drag the bot's role above the "On Stage" role. Discord won't let a bot manage a role that outranks it.

Server & channels

Server — Which Discord server to run. Populates once the bot connects.

Karaoke voice channel — Where the show happens. This is the channel QUP locks and unlocks.

Announcements channel — Where "Now singing" and "Up next" posts go. Optional; leave as (none) to stay silent.

Refresh lists — Re-reads servers and channels from Discord, for when you've just created one.

Set up my channel — Prepares the room: creates the "On Stage" role if it's missing, gives the bot its own permissions on the channel, denies Speak to @everyone, and registers the /iam command. It is safe to run again at any time — it's also the test button. If anything is wrong it tells you what and changes nothing.

Show rules

Grace period for a missing singer (seconds) — How long a singer gets to appear before their song is skipped. Default 60. Set it to 0 to skip immediately instead of waiting.

Open mic — Who can talk, and when.

  • Off — The room stays locked all night. Only the current singer and you can speak.
  • On — The room opens between songs, and for a window at each end of a song so people can cheer. This is the default.
  • Always — Nobody is ever silenced. The badge and the paging still work.

Open for the first N seconds of a song — The applause window at the start. Default 10. Set to 0 to switch it off.

Open for the last N seconds of a song — The applause window at the end. Default 15. Set to 0 to switch it off. Seeking into or out of this window re-opens or re-locks the room as you'd expect.

Bot plays filler music into the voice channel — Sends your filler music into Discord between songs, so the room isn't silent while nobody is sharing. The karaoke performance itself is not sent this way. With this off the bot doesn't sit in the voice channel at all.

Skip the song if the singer leaves the channel mid-song — Off by default: the track plays out and you can hit Next yourself. Turn it on to treat walking off as a skip. Either way there's a few seconds' grace, because Discord drops people out of channels briefly all the time.

Require the singer's PIN for /iam — On by default, and recommended. Claiming a name opens a private dialog asking for the singer's PIN, so nobody can take somebody else's slot. Singers who sign up on their phone get a PIN automatically; anyone who signed up before this feature existed needs to open the QUP app once so their PIN syncs. Until then /iam will tell them there's no PIN on file, and you can map them by hand below.

Singer mapping

QUP has to know which Discord account belongs to which singer name. Singers do this themselves with /iam in Discord — it asks for their singer name and PIN in a private dialog nobody else can see. /whoami tells them who they're currently mapped to, and running /iam with the name left blank un-claims it.

The table shows every mapping, where it came from, and lets you fix things by hand.

Add / edit… — Map a Discord user ID to a singer name yourself. This skips the PIN entirely, which is your escape hatch when someone's PIN isn't working mid-show. To get a user ID, right-click the person in Discord and choose Copy User ID.

Delete row — Removes a mapping.

Suggest from room… — Lists the people currently sitting in the karaoke voice channel so you can map one without copying IDs around. Suggestions are never applied automatically — nicknames and duplicate first names make guessing unsafe.

Duets — Map a second Discord user to the same singer name and both go on stage together. Since PINs are meant to be shareable, a duet partner can simply run /iam with the same name and PIN and sort it out themselves.

What happens during a show

When a song starts, QUP takes the role off whoever had it, gives it to the singer whose song is playing, and posts "Now singing" to the announcements channel. When the song ends the role comes off again.

If the singer isn't in the voice channel, QUP pauses the song, pings them, and waits out the grace period. If they turn up, it resumes. If they don't, it skips to the next song exactly as if you'd pressed Next.

If a singer has no mapping, the show carries on — they simply don't get the role, and a note in the announcements channel asks them to run /iam.

Save settings — Saves the configuration and applies it to the running bot.

If Discord goes down

Nothing that happens on Discord's side can affect your local playback. A dropped connection, a revoked token, or the bot being kicked all degrade to the same thing: room automation stops, a message appears in the status line, and the music keeps playing.