Skip to Content
Haven Documentation is the shared home for product guides, plugin setup, and release docs.
PluginsVoiceSupportCommands and Workflow

Commands and Workflow

Slash Commands

CommandWhat it does
/voicesupport statsShows support statistics for the server.
/voicesupport stats supporter:<user>Shows support statistics for one supporter.
/voicesupport historyShows recent support cases.
/voicesupport history user:<user> limit:<1-25>Shows case history for one user or supporter.
/voicesupport case case_id:<id>Shows details for one case.
/voicesupport activeShows active waiting and in-progress cases.
/voicesupport openOpens voice support and accepts new cases.
/voicesupport closeCloses voice support and stops new cases.
/voicesupport statusShows whether voice support is open or closed.

The slash command uses permissions.voicesupport_command, which defaults to a staff-level permission in normal setups.

Case Buttons

ButtonWhen shownWhat it does
Take OverWaiting casesLets a staff member accept the case.
CancelWaiting casesCancels the case before staff take it.
Close CaseIn-progress casesCloses and logs the case.
TransferIn-progress casesMoves ownership to another supporter.
Add CommentIn-progress casesAdds an internal note to the case record.

Full Case Lifecycle

  1. A user joins waitingRoomChannelId.
  2. If support is open, the plugin creates a new case.
  3. A case embed is posted in caseChannelId.
  4. supportRoleId is pinged.
  5. Staff click Take Over.
  6. The plugin checks staff roles and permissions.
  7. The user is moved to the supporter or to a temporary voice channel.
  8. The case changes from waiting to in_progress.
  9. Staff can comment, transfer, or close the case.
  10. When closed, the case is written to history and optionally logged.

When Support Is Closed

Use:

/voicesupport close

New waiting room joins will not create cases while support is closed. If closedMusic.enabled is true, the waiting room can play the closed-support track instead of the normal waiting music.

Use:

/voicesupport open

to accept new cases again.

Temporary Channel Mode

When voiceHandlingMode is create_temp_channel, taking a case creates a voice channel under supportCategoryId. The plugin moves the user and supporter into that channel when possible.

If the temporary channel becomes empty, the plugin waits autoCloseTimeout seconds and closes the case automatically.

Move-To-Supporter Mode

When voiceHandlingMode is move_to_supporter, staff must already be in a voice channel. Taking a case moves the waiting user to the supporter’s current voice channel instead of creating a new one.

Use this mode when your server has permanent staff support rooms.

Combined Cases

When combinedCases.enabled is true, the plugin can move multiple waiting users into the same support session. When combinedCases.autoAddLatecomers is true, new users who join the waiting room while a combined case is active can be added to the existing case.

This is useful for group tickets, partner calls, or situations where multiple users are waiting about the same issue.

Case History

Closed, cancelled, timed-out, and completed cases are stored for lookup. Staff can use:

/voicesupport history /voicesupport case case_id:CASE_ID /voicesupport stats

to review support performance and case details.