🎵 Music
Stream music straight into your voice channels with a fast, modern player. Audio is decoded on Strom’s dedicated audio node — not in the bot process — so playback stays smooth even with many servers listening at once.
Every feature lives under a single /music command, with subcommands for each action (and a /music playlist group for saved playlists).
- Play from YouTube, YouTube Music, SoundCloud, and Spotify (search + links).
- Interactive button control panel under every now-playing message.
- Queue management, loop, shuffle, seek, volume, and audio filters.
- 24/7 mode, autoplay, saved playlists, and lyrics.
- A fair-use daily listening quota per server.
- Dashboard settings for DJ role, default volume, and 24/7.
Quick start
- Join a voice channel.
- Run
/music playwith a song name or a link. - Use the buttons under the now-playing message, or the subcommands below, to control playback.
/music play query: Never Gonna Give You Up
/music play query: https://www.youtube.com/watch?v=dQw4w9WgXcQ
/music play query: lofi beats source: SoundCloud
Strom joins your channel, posts a Now Playing card, and starts streaming. Add more tracks any time — they’re appended to the queue.
Command reference
Every command works as both a slash command (/music play) and a prefix command (!music play).
Playback
| Command | Description |
|---|---|
/music play query:<text|url> [source] | Play a track/playlist, or queue it if something is already playing. |
/music pause | Pause the current track. |
/music resume | Resume playback. |
/music skip | Skip to the next track. (gated) |
/music stop | Stop playback and clear the queue. (gated) |
/music leave | Disconnect Strom from the voice channel. (gated) |
/music nowplaying | Show the current track with the control panel. |
/music seek position:<time> | Jump to a position — 90, 1:30, or 1:02:03. |
/music volume level:<0-200> | Set playback volume. |
Queue
| Command | Description |
|---|---|
/music queue [page] | Show the queue, paginated. |
/music shuffle | Shuffle the upcoming tracks. |
/music remove index:<n> | Remove a track at the given queue position. |
/music loop mode:<off|track|queue> | Set the loop mode. |
/music autoplay state:<on|off> | Keep playing related tracks when the queue ends. |
Enhancements
| Command | Description |
|---|---|
/music filter preset:<name> | Apply an audio filter (see Filters). |
/music lyrics | Show lyrics for the current track. |
/music playlist save|load|list|delete | Manage personal saved playlists. |
/music 247 state:<on|off> | Toggle 24/7 mode (Strom stays connected). |
/music quota | Show the server’s remaining daily listening time. |
::: details Permissions (gated actions) Most commands are open to anyone in Strom’s voice channel. The disruptive actions — skip, stop, leave — are gated. You can use them if any of these is true:
- You requested the current track.
- You have the DJ role (set on the dashboard).
- You have Manage Server.
- You’re the only human in the channel with Strom. :::
Control panel
Every Now Playing message comes with two rows of buttons, so members can control playback without typing commands:
| Button | Action |
|---|---|
| Back | Restart the current track. |
| Pause / Play | Toggle pause and resume. |
| Skip | Skip to the next track. (gated) |
| Stop | Stop playback and clear the queue. (gated) |
| Loop: <mode> | Cycle loop: off → track → queue. |
| Volume Down / Volume Up | Step the volume down or up. |
| Shuffle | Shuffle the queue. |
| Queue | Show the queue. |
| Autoplay | Toggle autoplay of related tracks. |
Buttons work for anyone sharing Strom’s voice channel; the gated actions (Skip, Stop) still enforce the DJ rules above.
Sources
Pick where to search with the source option on /music play. The default is YouTube.
| Source | source value | Notes |
|---|---|---|
| YouTube | youtube | Default. Direct video & playlist links supported. |
| YouTube Music | youtubemusic | Cleaner results for songs. |
| SoundCloud | soundcloud | Tracks and sets. |
| Spotify | spsearch | Search + links — see the note below. |
Pasting a link from any supported platform works regardless of the source setting.
Spotify can’t be streamed directly — Strom reads track info from Spotify, then plays the matching audio from YouTube.
- Spotify search (
/music play source: Spotify <song>) still works — it automatically falls back to YouTube. - Spotify links may not always resolve; if they don’t, use a song name or a YouTube/SoundCloud link instead.
Filters
Apply audio presets with /music filter preset:<name>.
| Preset | Effect |
|---|---|
clear | Remove all filters. |
bassboost | Heavier low end. |
nightcore | Faster + higher pitch. |
vaporwave | Slower + lower pitch. |
8d | Rotating “surround” effect. |
karaoke | Reduce vocals. |
treble | Brighter highs. |
soft | Gentle low-pass smoothing. |
/music filter preset: bassboost
/music filter preset: clear
Playlists
Save the current queue and reload it later. Playlists are personal (per user, per server).
/music playlist save name: chill
/music playlist load name: chill
/music playlist list
/music playlist delete name: chill
/music playlist save stores everything currently queued, including the playing track. /music playlist load re-queues them and counts toward your daily quota like any other playback.
24/7 mode
By default Strom leaves a channel when it’s been alone for about 2 minutes or the queue ends. Turn on 24/7 to keep it connected:
/music 247 state: on
With 24/7 enabled, Strom stays in the channel after the queue finishes and won’t auto-leave when alone. You can also enable 24/7 from the dashboard.
Daily listening quota
To keep things fair, each server has a daily music listening limit (default 4 hours). Only active, non-paused playback counts.
/music quota
- Shows time used, remaining, and when it resets.
- When the limit is reached, playback stops automatically and new
/music playrequests are blocked until reset. - Paused time is not counted.
::: info The quota is per server, not per user, and resets every day at 00:00 UTC. :::
Dashboard settings
Open the dashboard → your server → Music to configure:
| Setting | What it does |
|---|---|
| DJ role | Members with this role can use the gated actions (skip, stop, leave) on anyone’s tracks. |
| Default volume | The volume Strom starts at when it joins (0–200). |
| 24/7 mode | Keep Strom connected even when the queue ends or the channel empties. |
Requirements
Strom needs Connect and Speak permission in the voice channel before it can play. Without them, /music play returns a permission error.
Troubleshooting
::: details A song gets stuck or skips immediately Try a different source using the source option on /music play (e.g. switch from YouTube to SoundCloud). If the issue persists, the track may be unavailable or geo-restricted in your region. :::
::: details Spotify links don’t resolve Spotify links may not always work. Use a song name with /music play instead — Strom will automatically find the best match from YouTube. :::
::: details Lyrics show a search link instead of text Lyrics are sourced from Genius. If the lyrics panel shows a link rather than text, the track title may not have matched cleanly — try searching for the song manually on youtube.com. :::
::: details “I need Connect and Speak permission” Strom can’t join or transmit in the voice channel. Grant the Strom Bot role Connect and Speak on that channel (or server-wide), then try again. :::
