Managing Viewer Participation Slots on Discord with a Bot

Running slots on a viewer-participation stream, sign-ups come in through a button. Once the slots fill, a waitlist takes over, and when someone drops, the next viewer in line is promoted and DM'd automatically. Nothing to count back through chat mid-stream, nobody to chase down as a replacement.

Take viewer sign-ups off chat and onto a Discord join button

You post a recruitment with the /invoke command in your Discord server, which drops a message with a Join button attached. Viewers click that button to sign up instead of posting in chat.

A single number is all you need, even for a one-off segment where you're only filling slots once.

Every time someone joins, the count on the recruitment message updates immediately. You don't need to scroll back through chat to recount who signed up - the message itself always shows how many spots are filled.

Keep accepting sign-ups after the slots fill, with an automatic queue

Once the slot count is reached, the recruitment closes automatically. The Join button stops accepting new members at that point, but a Waitlist button appears in its place. Viewers who missed the cut can click it to line up.

When a confirmed member hits Leave, the person at the front of the queue is automatically promoted to a confirmed slot, and they get a DM about it. You don't have to decide who replaces a dropout or message the next person yourself.

Say you're running a 4-player segment: you enter 3 in the member count field and run /invoke, three viewers join, and the recruitment fills. From that point on, anyone else who wants in clicks Waitlist. If one of the confirmed members has to leave right after the segment starts, the viewer at the front of the queue is promoted automatically and gets a DM confirming their spot. You never have to check who's next or track it yourself.

One thing to note: as the host, you can't hit Leave yourself. If you need to reset the slots entirely, the Cancel button (host-only) ends the current recruitment so you can start a fresh one.

Handle "maybe later in the stream" sign-ups with Maybe instead of Join

If a viewer isn't sure they can join until a later segment, the Maybe button is the right one for them. It doesn't count toward the slot total.

Once confirmed members plus Maybe members reach the target count, Monvoke automatically DMs everyone on Maybe asking if they can join. Switching to Join at that point locks in their spot, but if other viewers fill the remaining slots first, the Maybe sign-up is treated as not participating. Maybe doesn't reserve a slot, so tell viewers who definitely want in to hit Join instead.

The moment slots are locked in, a private VC and IDs are ready to go

Creating a dedicated VC from the voice-channel menu on the message instantly sets up a channel only confirmed members can join (see Discord Recruitment to Voice Channel: What Happens Automatically for what else that menu can do).

If a viewer registered their in-game ID with the /id command ahead of time, joining that VC posts their ID directly in the channel's built-in chat. You and other participants can send friend requests or room invites right away instead of digging back through chat or DMs to find who to add. ID labels, separate ones for different games, for instance, are something a server admin sets up under /config, with room for up to 15 per server.

Running more than one recruitment at once during a stream

Pricing is per server. The Free plan covers keeping a main recruitment and a separate segment's recruitment open in parallel. Need to run more recruitments at once than that? That's when Plus comes in. See Pricing for the exact limits and what happens once you hit them.

Learn more