# Track Requests System

### What does the track requests system do?

It allows members to use the `request` command, which works similarly to the play command.\
[DJs](/guides/cmd-permissions.md#dj-roles) are able to accept or deny requests. Regular users will not be able to use any other music managing command.

{% hint style="info" %}
This system is completely **optional**! Only implement it if you want it.
{% endhint %}

### How does this work?

Firstly, you have to set the requests channel. The request command will not function without it! You can only have one requests channel at a time. To add a requests channel, just run the following:

{% hint style="success" %}
`settings requests [#channel/channel ID]`
{% endhint %}

{% hint style="danger" %}
When a requests channel is set, regular members will not be able to use any music managing commands (join, leave, play, skip, etc.).
{% endhint %}

Now, members will be able to use the `request` command. When they use it, a message embed with information is sent to the requests channel. It contains the track name, link, author, duration, requester, and the current voice channel.

{% hint style="warning" %}
Make sure StormBeatz has the `USE_EXTERNAL_EMOJIS` permissions in the channel!
{% endhint %}

[DJs](/guides/cmd-permissions.md#dj-roles) and server admins are able to accept or deny requests by clicking the respective buttons. If a request is accepted, the embed color will turn green and StormBeatz will add the track to the queue. If a request is denied, the embed color will turn red and StormBeatz will not add the track. After a request is reviewed, StormBeatz removes the buttons.

{% hint style="warning" %}
Make sure StormBeatz has the `MANAGE_MESSAGES` permission in the channel!
{% endhint %}

### How can I restrict the request command to specific members?

The request command can only be accessed by members with a [music role](/guides/cmd-permissions.md#music-roles). If there is no music role, all members will be able to access it.

### How can I disable/remove the requests system?

To remove the requests system in your server, simply run the `settings requests [#channel/channel ID]` command again. Make sure to mention the same channel it's currently set to.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.stormbeatz.org/guides/track-requests-system.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
