# VoiceMaster

{% hint style="info" %}
Replace `[prefix]` with your server's prefix.
{% endhint %}

VoiceMaster is a module that allows users to create their own temporary voice channels in your server. They have permissions to do things like lock, unlock, hide, reveal, kick, etc. in that voice channel only. Here, we will go over how to set up VoiceMaster and configure it for your server.

## Initial Setup

To first set up VoiceMaster, you need to run the following command:

```
[prefix]voicemaster setup
```

This will create two channels: "interface" and "join to create". You can rename these however you would like.

<figure><img src="https://2138524749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKC3Q8gA6avaSjTCmPTwv%2Fuploads%2FZsywKaamOOubuLjQbNEz%2Fimage.png?alt=media&#x26;token=ea6307f6-47bf-4222-867c-db47fe23fd12" alt=""><figcaption></figcaption></figure>

These channels are required for the VoiceMaster module to function. Joining the "Join to Create" channel will create a voice channel and move you to that channel. From there, you can control your channel from the #interface channel.

## Custom Interface

You can also create custom VoiceMaster interfaces for your server. This can be done by utilizing the `[prefix]interface` command. You can create buttons by using a button parameter. You can read more about those in the page below (scroll down a bit):[<br>](https://docs.pretend.best/embeds/content-in-embeds/parameters)

{% content-ref url="../embeds/content-in-embeds/parameters" %}
[parameters](https://docs.serenity.wtf/embeds/content-in-embeds/parameters)
{% endcontent-ref %}

You can also learn more about embed coding here:

{% content-ref url="../embeds/writing-embed-code" %}
[writing-embed-code](https://docs.serenity.wtf/embeds/writing-embed-code)
{% endcontent-ref %}

## Action Types

<br>

| Name     | Description                                            |
| -------- | ------------------------------------------------------ |
| lock     | Locks the voice channel                                |
| unlock   | Unlocks the voice channel                              |
| hide     | Hides the voice channel                                |
| reveal   | Reveals the voice channel                              |
| rename   | Renames the voice channel                              |
| decrease | Decrease the voice channel's member limit              |
| increase | Increase the voice channel's member limit              |
| info     | Show information about the voice channel               |
| kick     | Disconnect a user from the voice channel               |
| claim    | Claim the voice channel when the owner isn't connected |

## Custom Interface Example

<figure><img src="https://2138524749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKC3Q8gA6avaSjTCmPTwv%2Fuploads%2FjzUm9MRcMlJJ3u8z3hSh%2Fimage.png?alt=media&#x26;token=e1045f14-2d3a-4035-abbc-33f83f9d2fb5" alt=""><figcaption></figcaption></figure>

#### Code

;interface {embed}{title: voicemaster}$v{description: control your voicemaster channel}$v{button: lock && emoji: 🔒}$v{button: unlock && emoji: 🔓 && style: green}$v{button: hide && emoji: 👻 && style: red}

## Default Interface

To get back the default VoiceMaster interface, run `[prefix]interface` with no script. This will send the default interface to the channel you are currently in.

## Remove VoiceMaster

To remove the VoiceMaster module from your server, run this command:

```
[prefix]voicemaster unsetup
```

serenity will delete the interface and join to create channels. It will then send a message confirming VoiceMaster has been removed from your server.

<figure><img src="https://2138524749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKC3Q8gA6avaSjTCmPTwv%2Fuploads%2FhRgsKWZbGWQkMDErXB60%2Fimage.png?alt=media&#x26;token=27e49e4d-ae4e-4d91-a2f4-b1b9a3aa51be" alt=""><figcaption></figcaption></figure>
