Skip to main content

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.

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.

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/spotify plugin
  • 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):
OptionValueEffect
emptyCooldown60 secondsBot stays in the voice channel for 60 s after the queue empties before leaving
searchCooldown60 secondsCooldown between search requests to prevent rate-limiting
nsfwfalseNSFW content is blocked regardless of channel type
savePreviousSongstruePreviously played songs are retained so the Previous button can replay the last track
emitAddListWhenCreatingQueuefalseThe addList event is suppressed when a new queue is first created
searchSongs0Returns 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.
/play song:<url or search query>

/skip

Skips the currently playing song and advances to the next item in the queue.
/skip

/stop

Stops playback and clears the entire queue.
/stop

/pause

Pauses the current song without clearing the queue.
/pause

/resume

Resumes a paused song from where it left off.
/resume

/join

Makes the bot join your current voice channel without starting playback.
/join

/leave

Stops playback, clears the queue, and disconnects the bot from the voice channel.
/leave

/nowplaying

Displays a rich embed with full details about the currently playing track.
/nowplaying

/volume

Sets the playback volume to a specific integer value.
/volume volume:<number>

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 under Buttons in config/messages.yml:
ButtonAction
▶ ResumeResume a paused song
⏮ PreviousReturn to the previously played song
⏹ StopStop playback and clear the queue
⏸ PausePause the current song
⏭ SkipSkip to the next song in the queue
🔉 Volume DownDecrease the current volume
🔊 Volume UpIncrease the current volume
🔁 LoopToggle loop mode for the current song
🔀 Shuffle QueueShuffle the remaining songs in the queue
The button panel is the fastest way for non-admin users to interact with music — no slash commands needed.

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

Requirements

The user running a music command must be connected to a voice channel in the same server. The bot also needs Connect and Speak permissions in that channel. If no voice channel is joined, all music commands will return an error.

Build docs developers (and LLMs) love