Absolet brings high-quality music playback to your server through DisTube, a feature-rich Discord music library. Whether you paste a YouTube link, type a search query, or drop in a Spotify track URL, the bot queues it up and starts playing immediately — no separate music bot required.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/devjhoan/absolet/llms.txt
Use this file to discover all available pages before exploring further.
Supported Sources
Absolet can play audio from the following sources:- YouTube URLs — direct links to individual videos or playlists
- YouTube search queries — plain text search terms; DisTube resolves the best match automatically
- Spotify tracks — individual track links via the
@distube/spotifyplugin - Spotify playlists — full playlist links; all tracks are fetched in parallel before playback begins (
emitEventsAfterFetching: true,parallel: true)
Spotify support requires valid Spotify API credentials in your bot configuration. The plugin converts Spotify metadata to YouTube search queries for actual audio streaming.
DisTube Configuration
The following DisTube options are active in Absolet’s default configuration (Client.ts):
| Option | Value | Effect |
|---|---|---|
emptyCooldown | 60 seconds | Bot stays in the voice channel for 60 s after the queue empties before leaving |
searchCooldown | 60 seconds | Cooldown between search requests to prevent rate-limiting |
nsfw | false | NSFW content is blocked regardless of channel type |
savePreviousSongs | true | Previously played songs are retained so the Previous button can replay the last track |
emitAddListWhenCreatingQueue | false | The addList event is suppressed when a new queue is first created |
searchSongs | 0 | Returns the single best search result rather than a list of choices |
Commands
/play
Adds a song to the queue and begins playback. Accepts a YouTube URL, a YouTube search query, or a Spotify track/playlist link.
/skip
Skips the currently playing song and advances to the next item in the queue.
/stop
Stops playback and clears the entire queue.
/pause
Pauses the current song without clearing the queue.
/resume
Resumes a paused song from where it left off.
/join
Makes the bot join your current voice channel without starting playback.
/leave
Stops playback, clears the queue, and disconnects the bot from the voice channel.
/nowplaying
Displays a rich embed with full details about the currently playing track.
/volume
Sets the playback volume to a specific integer value.
Interactive Button Panel
When a song begins playing, Absolet automatically posts a Now Playing embed in the text channel where the command was run. The embed includes an interactive row of buttons so anyone in the channel can control playback without typing commands. The buttons match the entries defined underButtons in config/messages.yml:
| Button | Action |
|---|---|
| ▶ Resume | Resume a paused song |
| ⏮ Previous | Return to the previously played song |
| ⏹ Stop | Stop playback and clear the queue |
| ⏸ Pause | Pause the current song |
| ⏭ Skip | Skip to the next song in the queue |
| 🔉 Volume Down | Decrease the current volume |
| 🔊 Volume Up | Increase the current volume |
| 🔁 Loop | Toggle loop mode for the current song |
| 🔀 Shuffle Queue | Shuffle the remaining songs in the queue |
Now Playing Embed Details
The/nowplaying command surfaces the following information about the current track:
- Song name and URL
- Playback progress bar — a text-based scrubber rendered with
─and🔘characters showing current position relative to total duration - Status indicator — 🟢 if playing, 🔴 if paused
- Volume — current queue volume level
- Queue count — total number of songs remaining in the queue
- Requester — the Discord user who queued the song (
user.tag) - Uploader — the YouTube channel name and link URL
- Likes and Views — raw engagement stats from YouTube