Community interaction · Requests
Run a structured request board
Collect consistent viewer suggestions, moderate their lifecycle and keep point charges and public status understandable.
Choose the right view
- A channel owner or permitted moderator chooses the channel and opens Request boards at /requests to create, configure and moderate boards.
- Open public board copies the viewer route /requests/{channel}/{board-name}. Anyone can read an existing board; a viewer signs in with Twitch to submit, vote or withdraw.
- Chat participants can discover boards with !requests. Website and chat actions use the same board, limits, votes and request states.
Configure a board
The public queue order explains the complete stable ordering. Moderator priority, votes and assigned queue position refine that order without hiding a different participant rule.
- Select New, give the board a Command and URL name, title and description, then choose whether it accepts submissions.
- Set the point cost, refund policy, active-submission limit, submission cooldown, voting switch and per-viewer vote limit.
- Add only the fields participants need. A field can be Text, URL, Twitch clip, Number or Choice; set its label, required state and applicable length, choice or number limits.
- Select Save board, then use Open public board and read the Board rules exactly as a participant will see them.
Submit and vote
- On the public page, sign in with Twitch, complete Title and the configured fields, then select Submit request. The page shows the request ID and its current public state.
- In chat, use !request <board> <title> | field=value | category=value | tags=a,b. Required field keys come from that board's configuration.
- Use !requestvote <request-id> to vote in chat, or Vote on the public board. Repeating the same vote does not add another vote.
- A submitter can Withdraw an active request from the public page. Private moderator text is never shown there.
Moderate the lifecycle
Private moderator note and Private rejection reason remain moderator-only. Put participant-facing context in Public note instead.
- Review the submitted values and any possible-duplicate warning. Set public category, tags, priority and Public note when they help participants.
- Move Pending to Approved or Rejected. Approved requests can move to Queued or Accepted; Queued or Accepted requests can move to Completed.
- Use Merge with the target request ID when two entries are the same request. The public board keeps the merged outcome and the surviving request's combined support.
- When the dashboard is not convenient, use !requestapprove, !requestreject, !requestqueue, !requestaccept or !requestcomplete followed by one request ID.
- To merge in chat, use !requestmerge <source-id> <target-id>.
Points, failure and recovery
- A non-zero cost is reserved and deducted from the viewer's available balance when the board accepts the initial submission, before moderator review. It remains reserved through Pending, Approved, Queued and Accepted. Never manually charge the viewer as well.
- Completion consumes the reservation. A closure refunds it only under the configured policy: Never does not refund; Rejected or withdrawn refunds those two closures; Any unfulfilled closure also refunds other closures that did not complete.
- If validation, the cooldown, a limit or the balance rejects a submission, correct the message shown and submit once. If an outcome is already visible, reload before trying again.
- If request state and points still disagree after reload, leave the request unchanged and send the channel, board name, request ID, approximate time and visible message to the server owner. Do not share Twitch tokens or private notes.