Dispatch.IO can play music (search by title or link) and live radio stations in a voice channel of your community. This page covers each command, the player message the bot posts during playback and the rules that decide who can control what. Music commands are open to every member: no Fluxer permission is required. The prefix used here is ! (the default prefix): replace it with your community's if it was changed.
| Command | Aliases | What it does |
|---|---|---|
!play | !p, !jouer | Play a track or add it to the queue |
!play-now | !pn, !jouer-maintenant | Play a track right away, instead of the current one |
!pause | — | Pause the music |
!resume | !reprendre, !unpause | Resume playback |
!next | !skip, !suivant | Skip to the next track |
!previous | !back, !prev, !precedent, !précédent | Go back to the start of the track or to the previous track |
!loop | !boucle, !repeat | Repeat the current track or the whole queue |
!queue | !q, !file | View, shuffle or clear the queue, jump to a track |
!play-radio | !radio, !jouer-radio | Listen to a live radio station |
!title | !np, !titre | Show the current track or radio station |
!volume | !vol | Set the volume |
!stop | !arret, !arrêt, !leave | Stop the music or the radio |
Before you start
What you need
- Be in a voice channel.
!play,!play-nowand!play-radiobring the bot into your voice channel; without one, the bot replies "You must be in a voice channel to use this command.". - Stay in the same channel as the bot to control playback (pause, volume, queue…). Otherwise: "You must be in the same voice channel as me to use this command.". The bot only plays in one voice channel at a time per community: while it plays somewhere,
!playtyped from another voice channel gets that same reply. - Permissions for the bot in the voice channel: View channel, Connect and Speak. If one is missing, the bot replies "I am missing the Connect, Speak permission to do that." for 5 seconds.
Music or radio, not both
Music and radio use two different players that can't run at the same time. If a radio is playing, !play replies "I'm already playing a radio station, please stop it first."; if music is playing, !play-radio replies "I am already playing music, please stop it first.". Use !stop to switch from one to the other.
Automatic stop
When no member is left in the bot's voice channel (bots don't count), the music or radio stops right away and the bot leaves the channel. The same happens if someone disconnects the bot.
After the bot restarts
If the bot restarts (update, maintenance) while music is playing, it resumes it on its own when it comes back: same voice channel, same queue, same position in the track, same volume, same loop, and paused if it was. The restart must last less than 10 minutes and someone must still be in the voice channel. A new player message is then posted. A radio doesn't come back: start it again with !play-radio.
Language
On Fluxer, command replies, the player message and the track card (!title, !queue) use the community's language, set in the dashboard.
Who can control playback
To stop members from cutting each other's music, some actions are reserved for the person who requested the current track (the "requester").
| Command | Be in voice | Be in the bot's channel | Requester only |
|---|---|---|---|
!play, !play-radio | Yes | Yes, if the bot is already playing | No |
!play-now | Yes | Yes, if the bot is already playing | Yes, if a track is playing |
!pause, !resume, !previous | Yes | Yes | Yes |
!next, !loop, !stop | Yes ¹ | Yes ¹ | Yes |
!volume, !queue shuffle, !queue clear, !queue <number> | Yes | Yes | Yes |
!queue (view), !title | Yes | Yes | No |
!volume and !stop during a radio | Yes | Yes | No |
| Player message reactions | Yes ¹ | Yes ¹ | Yes |
¹ A member with the Fluxer Administrator permission can use !next, !loop, !stop and the ⏭️ Skip and ⏹️ Stop reactions without being in the voice channel.
The requester rule: while the requester of the current track is in the bot's voice channel, only they (or a member with the Administrator permission) can control it. If they left the channel, anyone in the channel can. Otherwise the bot replies "You are not the one who requested this track, so you can't control it.".
Tip
Once the queue has finished, there is no current track anymore, so no requester: anyone in the channel can then manage the player. !stop makes the bot leave, !previous plays the last track again, !play adds a new one; otherwise, the bot leaves on its own as soon as nobody is left in the voice channel.
Playing music
!play searches for a track (by name or by link) and plays it, or adds it to the end of the queue if something is already playing. The bot joins your voice channel if it isn't there yet, at 100% volume.
- Join a voice channel.
- Type
!playfollowed by the track name or a link:!play Café Lo-Fi Session. Fluxer has no suggestions while you type: the bot plays the first result of the search. Add the artist's name to get it right. - The bot confirms "Song added to queue: title". This reply disappears after 5 seconds, along with your command.
- The player message shows up in the channel (or updates) as soon as the track starts.
What you can type
| You type | What the bot does |
|---|---|
| A title, an artist | Searches YouTube and plays the first result. |
| A SoundCloud, Bandcamp or Vimeo link | Plays that track. |
| A playlist or album link (SoundCloud, Bandcamp, Vimeo) | Adds all its tracks to the queue, up to 500. |
| A YouTube link | Refused: "YouTube links have been disabled.". They are reserved for Dispatch.IO creators. Search for the track by name instead. |
| A Spotify, Deezer, Apple Music or other site's link | Not supported: "No results found for your search.". Search for the track by name instead. |
No Spotify, Deezer or Apple Music links on Fluxer
On Discord, Dispatch.IO also reads Spotify, Deezer and Apple Music links. On Fluxer it can't: only SoundCloud, Bandcamp and Vimeo links are accepted. For a track you found in one of those apps, just type its name and artist.
!playSearches for a track and plays it in your voice channel, or adds it to the end of the queue.
Syntax
!play <title or link…>Options
| Option | Type | Required | Description |
|---|---|---|---|
title or link | Text | Yes | The track name (the bot plays the first result) or a SoundCloud, Bandcamp or Vimeo link to a track or a playlist. |
Member permission
None
Bot permission
View channel, Connect and Speak in the voice channel
Where to use it
Community only
Rate limit
3 uses every 20 s
Plan
Free
Examples
!play Café Lo-Fi Session!p Daft Punk Get Lucky
Aliases: `!p`, `!jouer`. Without any text, the bot shows the syntax for 5 seconds.
If nothing is found: "No results found for your search.". The player message is posted in the channel where the first !play was typed.
Play right away: !play-now
On Discord, /play has a "Play now" mode. On Fluxer, it's a separate command, !play-now:
| Command | If nothing is playing | If a track is already playing |
|---|---|---|
!play | Plays the track | Adds the track to the end of the queue. With a playlist link, all its tracks are added. |
!play-now | Plays the track | Puts the track at the front of the queue and skips straight to it. With a playlist link, only its first track is played. |
Since !play-now cuts the current track, it follows the requester rule while a track is playing.
!play-nowPlays a track right away: the current one is skipped.
Syntax
!play-now <title or link…>Options
| Option | Type | Required | Description |
|---|---|---|---|
title or link | Text | Yes | The track name (the bot plays the first result) or a SoundCloud, Bandcamp or Vimeo link. |
Member permission
None (requester rule while a track is playing)
Bot permission
View channel, Connect and Speak in the voice channel
Where to use it
Community only
Rate limit
3 uses every 20 s
Plan
Free
Examples
!play-now Café Lo-Fi Session
Aliases: `!pn`, `!jouer-maintenant`.
The player message
As soon as the first track starts, Dispatch.IO posts a "player" message in the channel where !play was first typed. That same message is updated on every new track, pause, resume, volume change or queue change.
| Line | Content |
|---|---|
| Title | The current track, linking to its source, with its thumbnail (or the Dispatch.IO logo) |
| Author | The artist or channel |
| Progress | Position and length of the track, as a percentage, or "Live" for a stream |
| Volume | The player volume |
| Requested by | The member who added the track |
| Queue | How many tracks are waiting, or "No tracks waiting" |
| State | "Playing" or "Paused" |
Note
Progress is calculated when the message is updated: it doesn't move in real time. Use !title to see where the track is.
Buttons as reactions
Fluxer doesn't have buttons for bots yet: under the player message, a legend line ("⏮️ Previous · ⏸️ Pause · ▶️ Resume · ⏭️ Skip · ⏹️ Stop") and the same emojis as reactions replace them. Click a reaction to "press" it: the bot removes it right away, so you can click again. The bot may show its own versions of these emojis.
| Reaction | Effect | Same as |
|---|---|---|
| ⏮️ Previous | Goes back to the start of the current track, or to the previous track in its first 10 seconds | !previous |
| ⏸️ Pause | Pauses the music | !pause |
| ▶️ Resume | Resumes playback | !resume |
| ⏭️ Skip | Skips to the next track | !next |
| ⏹️ Stop | Stops the music, deletes the player message and disconnects the bot | !stop |
Reactions follow the same rules as the commands: they are reserved for the requester of the current track. If you're not allowed, the bot shows the reason for 5 seconds in the channel, mentioning you. Confirmations ("The music has been paused by …") are public. Reactions work for as long as the message is the current player's, with no time limit. How reactions work in general is explained in Buttons, forms and replies on Fluxer.
During and after playback
- Unplayable track: if a track can't be played (deleted, private, unavailable), the bot says so for a few seconds in the channel ("title couldn't be played: skipping to the next one.") and starts the next one.
- Dropout: if a track is cut off midway, the bot restarts it where it was.
- Queue finished: the message stays with the title "Unknown", without its legend or reactions, and the bot stays connected to the voice channel. Add a track with
!play. - Message deleted: if someone deletes the player message, the bot posts a new one at the next track.
- Player stopped (
!stop, ⏹️ reaction, empty voice channel): the player message is deleted.
Pausing and resuming
!pause and !resume pause and then restart the current track. The player message switches to "Paused" or "Playing". The radio can't be paused: use !stop.
!pausePauses the current music.
Syntax
!pauseMember permission
None (track requester rule)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!pause
Public reply: "The music has been paused by @Alex.". If it already is: "The music is already paused.".
!resumeResumes paused music.
Syntax
!resumeMember permission
None (track requester rule)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!resume
Aliases: `!reprendre`, `!unpause`.
Public reply: "The music has been resumed by @Alex.". If it isn't paused: "The music is not paused.".
Skipping ahead or going back
!next skips to the next track in the queue. What !previous does depends on when you type it:
| When | Effect of !previous |
|---|---|
| The track has been playing for more than 10 seconds | It starts over: "The current music is restarting because @Alex requested it." |
| In the first 10 seconds | The previous track plays again, and the current one goes back to the front of the queue: "Playing the previous music because @Alex requested it." |
| In the first 10 seconds of the very first track | "No previous music found in the queue." |
!nextSkips to the next track in the queue.
Syntax
!nextMember permission
None (track requester rule)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!next
Aliases: `!skip`, `!suivant`.
Public reply: "The current music has been skipped by @Alex.". If nothing comes after the current track: "No next music found in the queue.". To stop the last track, use !stop.
!previousRestarts the current track, or plays the previous track again in the first 10 seconds.
Syntax
!previousMember permission
None (track requester rule)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!previous
Aliases: `!back`, `!prev`, `!precedent`, `!précédent`.
Repeating a track or the queue
!loop turns on loop playback, either for the current track or for the whole queue.
| Mode | Accepted words | Effect |
|---|---|---|
| Current track | track, titre, musique, piste | The current track starts over every time it ends. |
| Queue | queue, file | Each finished track goes back to the end of the queue: the whole queue loops. |
!loop works like a switch: if a loop is already on (whatever its mode), the command turns it off. To switch modes, run !loop once to turn it off, then a second time with the new mode.
!loopTurns loop playback of the current track or the queue on or off.
Syntax
!loop <track | queue>Options
| Option | Type | Required | Description |
|---|---|---|---|
mode | Text | Yes | `track` for the current track, `queue` for the whole queue. |
Member permission
None (track requester rule)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!loop track!loop queue
Aliases: `!boucle`, `!repeat`.
Public replies: "Loop playback has been enabled for the current track.", "… for the queue." or, if a loop was on, "Loop playback has been disabled.".
Managing the queue
!queue shows, shuffles or clears the queue, or jumps to a track. It only works with music (not with the radio), and you need to be in the bot's voice channel.
| Command | Effect |
|---|---|
!queue | Shows the current track, then the waiting tracks (10 per page), numbered, with their length and requester, the number of tracks and the total length (current track included). |
!queue shuffle | Shuffles the order of the waiting tracks. |
!queue clear | Removes all waiting tracks; the current track keeps playing. |
!queue <number> | Jumps straight to the track with that number: the tracks before it are removed from the queue and it starts right away. |
When the queue spans several pages, the bot puts ◀️ ▶️ under its reply: only you can turn the pages, for 5 minutes. A track's number is the one shown in the list.
Shuffling, clearing or jumping to a track changes what the whole channel hears: these three actions follow the requester rule. Viewing the queue is open to the whole channel.
!queueShows, shuffles or clears the music queue, or jumps to a track.
Syntax
!queue [shuffle | clear | <number>]Options
| Option | Type | Required | Description |
|---|---|---|---|
shuffle | Word | No | Shuffles the queue. In French: `mélanger`. |
clear | Word | No | Clears the queue. In French: `vider`. |
number | Number | No | The number of a track in the list: it starts right away. |
Member permission
None (requester rule for shuffle, clear and the number)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!queue!queue shuffle!q 4
Aliases: `!q`, `!file`.
Public replies: "The queue has been shuffled." or "The queue has been cleared.". For a number, the confirmation "The music **title** has been selected." disappears after 5 seconds; a number not in the list gives "This song is no longer available in the queue.".
Listening to the radio
!play-radio starts a live radio station in your voice channel.
- Join a voice channel (with no music playing).
- Type
!play-radiofollowed by the station name:!play-radio France Inter. - The bot joins your voice channel, starts the radio and replies "Playing now: France Inter", with the ⏹️ Stop the radio legend and the matching reaction.
Finding the station: Dispatch.IO knows about thirty stations (NRJ, France Inter, franceinfo, FIP, Radio Nova, Skyrock, TSF Jazz, Lofi Radio…), the same as the Radios page of the dashboard player. Part of the name is enough when it points to one station: !radio nova starts Radio Nova. For a station outside that list, the bot looks it up in an online radio directory with the name you typed.
!play-radioPlays a live radio station in your voice channel.
Syntax
!play-radio <station…>Options
| Option | Type | Required | Description |
|---|---|---|---|
station | Text | Yes | The station name, or part of it. |
Member permission
None
Bot permission
View channel, Connect and Speak in the voice channel
Where to use it
Community only
Rate limit
3 uses every 20 s
Plan
Free
Examples
!play-radio France Inter!radio nova
Aliases: `!radio`, `!jouer-radio`.
If the station's stream can't be found: "An error occurred while playing the radio stream.".
The ⏹️ Stop the radio reaction only works for the person who started the radio; other members' reactions are removed with no effect. Any member in the bot's voice channel can also stop it with !stop. Running !play-radio again from the same voice channel switches station (the old message loses its reaction). When the radio stops (reaction, !stop, empty voice channel, stream cut several times in a row), its message says "The radio playback has been stopped." and its reaction goes away.
During a radio, !title shows its name and !volume sets its volume. The radio can't be paused.
Showing the current track
!title shows what is playing: the full track card for music, or the station name for a radio.
For music, the card repeats the player message information (title, author, up-to-date progress, volume, requester, queue, state) and adds a link to the source when it's recognised: Listen on YouTube or Listen on SoundCloud.
!titleShows the track currently playing or the radio station's name.
Syntax
!titleMember permission
None (be in the bot's voice channel)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!title
Aliases: `!np`, `!titre`.
For a radio, the reply is "Now playing: **France Inter**". Queue finished: "No music is currently playing.".
Setting the volume
!volume sets the volume of the music or the radio, from 0 to 100%. For music, the Volume line of the player message is updated. The setting applies to everyone in the voice channel.
- Music: the volume follows the requester rule, like
!pauseor!next. - Radio: any member in the bot's voice channel can set it.
!volumeSets the volume of the music or the radio.
Syntax
!volume <0-100>Options
| Option | Type | Required | Description |
|---|---|---|---|
0-100 | Whole number | Yes | The volume, from 0 to 100 (`50` or `50%`). |
Member permission
None (requester rule for music)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!volume 50!vol 80%
Alias: `!vol`.
Public reply: "The music volume has been adjusted to **50%**." (or "The radio volume…"). Outside 0 to 100: "The percentage must be between 0 and 100.".
Stopping the music or the radio
!stop stops what is playing and disconnects the bot from the voice channel.
- Music: follows the requester rule; a member with the Administrator permission can do it from anywhere. The player message is deleted and the queue is lost.
- Radio: any member in the bot's voice channel can stop it. The radio message says it was stopped.
!stopStops the current music or radio and disconnects the bot from the voice channel.
Syntax
!stopMember permission
None (requester rule for music)
Where to use it
Community only
Rate limit
2 uses every 10 s
Plan
Free
Examples
!stop
Aliases: `!arret`, `!arrêt`, `!leave`.
Public reply: "The music playback has been stopped by @Alex." or "The radio has been stopped by @Alex.". If nothing is playing: "I am not currently playing any music or radio.".
Troubleshooting
| What you see | Explanation and fix |
|---|---|
| "I am missing the Connect, Speak permission to do that." | The bot can't see, connect to or speak in your voice channel: give its role View channel, Connect and Speak in that channel. |
| "You must be in a voice channel to use this command." | Join a voice channel before running the command. |
| "You must be in the same voice channel as me to use this command." | Join the voice channel the bot is in: it only plays in one channel at a time. |
| "You are not the one who requested this track…" | Only the track's requester (or an Administrator) can control it while they're in the channel. |
| "I'm already playing a radio station…" / "I am already playing music…" | Stop the current playback with !stop first. |
| "YouTube links have been disabled." | Search for the track by name instead of pasting the link. |
| "No results found for your search." | Try other words. With a link, check that it comes from SoundCloud, Bandcamp or Vimeo: Spotify, Deezer and Apple Music links aren't supported on Fluxer. |
| "title couldn't be played: skipping to the next one." | That track can't be played (deleted, private, unavailable): the bot moves on to the next one. |
| "An error occurred while creating the audio player." or "… while connecting to the voice channel." | The bot couldn't join the voice channel: try again in a moment. |
| The player shows "Unknown", with no reactions | The queue has finished and the bot is waiting: !play to continue. It leaves as soon as the voice channel is empty. |
| My reaction on the player stays there | The bot doesn't have Manage messages in the channel: remove your reaction before clicking again, or give it the permission. |
| The radio stopped on its own | The station's stream dropped several times in a row: start it again or pick another station. |
| Nothing happens when I click ⏹️ under the radio | Only the person who started the radio can use its reaction; the others use !stop. |
For other issues, see the Troubleshooting page.
Related pages
- Music player: how the music module works and the dashboard player.
- Buttons, forms and replies on Fluxer: how the bot's reactions work.
- Permissions and roles: the permissions the bot needs.
- All commands: the full list of commands.