Audio
This is the cog guide for the audio cog. You will find detailed docs about usage and commands.
[p]
is considered as your prefix.
Note
To use this cog, load it by typing this:
[p]load audio
You can see additional help for any command in this guide by using [p]help
with the
command name, like [p]help playlist append
.
In this guide, you will see references to “Lavalink” or the “Lavalink.jar”. Lavalink is the Java-based audio backend we use to be able to play music through the bot. Most users will not have to worry much about Lavalink or what it is, as Audio manages this process for you by default. Advanced users can read more about Lavalink and special cases under the Lavalink - Red Community-Supported Advanced Usage section below.
You will also see references to managed
or unmanaged
in regards to the Lavalink.jar.
The default is managed
, as Audio manages the Lavalink.jar in this state. If it is run as an
unmanaged
process, this means you as the bot owner will be managing the Lavalink process yourself.
When the Audio cog is first loaded, it will contact GitHub and download the newest Lavalink.jar file for your bot to use. Any time Red is updated and you update your bot, it will probably download a new, updated Lavalink.jar for your bot. It is important to keep your bot updated as fixes are provided for Lavalink frequently.
Warning
All commands should be used in a Discord server, and not in Direct Messages as Audio is not available there.
Basic Audio Use
The following commands are used for controlling the audio being played, such as starting, stopping, and altering volume.
[p]play
- Play a single song or a playlist URL or use this command with words to search for a song.[p]search
- Search for a track on YouTube. Searching on Soundcloud can be done with[p]search sc
and the keywords to search for.[p]stop
- Stops playback and clears the queue.[p]pause
- This is a toggle. Use[p]pause
again to resume the music.[p]prev
- Stops playback of the current song and returns to the start of the previous song played.[p]skip
- Skip to the next song in the queue, if there is one.[p]seek
- Seek ahead to a specific track time, or seek ahead by seconds.[p]now
- Show what song is currently playing.[p]volume
- Set the volume from 0% to 150%. 100% is the default. Discord server owners can set a limit to the volume with[p]audioset maxvolume
.
Note
The following services are currently supported through [p]play
:
Note
[p]audioset restrict
is a toggle that only allows commercial site (YouTube, Soundcloud, etc) playback by default.
When toggled off, users will be able to play songs from HTTPS streams or arbitrary sites, but this could be a
security issue as your bot’s IP address will be sent to any site it’s connecting to, per standard internet protocol.
Frequently Asked Questions
Q: I used a playlist link with some of the playlist related commands and it tells me that it can’t find it. How can I use this playlist link with playlist commands in audio?
Audio uses Red playlists in its commands that take playlist arguments. These playlists can be created and modified using the
[p]playlist
group command. When a playlist or song(s) are saved as a Red playlist, it is assigned an ID automatically, and it is also assigned the one-word name you provided it when creating the playlist. Either one of these identifiers can be used with playlist-related commands.Tip
If you have a playlist URL, use
[p]playlist save <url>
to save it as a Playlist with Audio.
Q: How do I turn off autoplay?
Use the
[p]audioset autoplay toggle
command.
Q: How do I get the bot to disconnect from the channel when it’s done playing?
[p]audioset dc
will make the bot auto-disconnect when playback completes and the queue is empty.[p]audioset emptydisconnect
with a seconds argument greater than 0 will make the bot auto-disconnect once it’s alone in the channel, after the amount of seconds given to the command. This setting takes precedence over[p]audioset dc
if both settings are active.
Q: How do I use localtracks?
See the local tracks section.
Q: My console is saying that “Port 2333 is already in use”. How can I fix this?
If you are trying to run multiple bots with Audio, you should follow our guide on setting up Audio for multiple bots. Otherwise, another process is using the port, so you need to figure out what is using port 2333 and terminate/disconnect it yourself.
Q: My terminal is saying that I “must install Java 11 for Lavalink to run”. How can I fix this?
You are getting this error because you have a different version of Java installed, or you don’t have Java installed at all. As the error states, Java 11 is required, and can be installed from here.
If you have Java 11 installed, and are still getting this error, you will have to manually tell Audio where your Java install is located. Use
[p]llset java <path_to_java_11_executable>
, to make Audio launch Lavalink with a specific Java binary. To do this, you will need to locate yourjava.exe
/java
file in your Java 11 install.Alternatively, update your PATH settings so that Java 11 is the one used by
java
. However, you should confirm that nothing other than Red is running on the machine that requires Java.
Playlist Commands
Playlists can be saved locally on the bot in a variety of different scopes:
Global - The playlist will be available on all servers.
Guild (default scope) - The playlist will be available only in a specified guild.
User - The playlist will be available in any guild that the user shares with the bot.
Some of the most relevant playlist commands include:
[p]playlist append
- Add a track URL, playlist link, or quick search to a playlist.[p]playlist create
- Creates an empty playlist.[p]playlist delete
- Delete a saved playlist.[p]playlist info
- Retrieve information about a saved playlist.[p]playlist list
- List saved playlists.[p]playlist queue
- Save the currently playing queue to a playlist.[p]playlist remove
- Remove a track from a playlist by URL.
As always, you can run [p]help playlist <command>
for more information.
Owner-Only Audioset Commands
[p]audioset cache
- This sets the local metadata caching level for Audio. By default, this is set to on as it helps reduce 429 Forbidden errors from song services, and also caches Spotify song lookups. Most users will not need to touch this option.[p]audioset cacheage
- How long the entries in the cache last. By default, song metadata is cached for 365 days (1 year).[p]audioset status
- Show the now playing song in the bot’s status, or show how many servers the bot is playing music on, if more than one.[p]audioset restrictions global
- Manage the keyword blocklist/allowlist for the whole bot.
Guild-based Audioset Commands
[p]audioset notify
- Toggle extra messages: Audio will display a notification message when a track starts, showing the song title, artist, and the thumbnail (if enabled and present). This notify message follows the last invoking Audio command - if an Audio command is used in one channel and this setting is on, the notify messages will start to appear in the channel where the command was used. If another Audio command is used in another channel, notify messages will start appearing in the second channel instead of the first command channel.[p]audioset maxvolume
- Set the max volume for the guild.[p]audioset autodeafen
- Toggle the bot being auto-deafened upon voice channel join.[p]audioset restrictions
- Manage the keyword blocklist/allowlist for the guild.[p]audioset lyrics
- Searching for tracks will prefer songs with ‘lyrics’ in the name, to avoid videos with long story intros or outros.
Spotify Playback and API Keys
We will never be able to play directly from Spotify itself as it is against their Terms of Service. Audio can play
single tracks or playlists from Spotify by looking up the song(s) on YouTube and playing those tracks instead.
This is possible by providing your bot with a YouTube API key and a Spotify API key. Instructions for setting both
can be found under [p]audioset youtubeapi
and [p]audioset spotifyapi
.
The YouTube API keys that are being given out currently only have 10000 units of quota per day, which is equivalent to 100 Spotify song lookups. There is a local metadata cache that Audio uses to be able to retain information about song lookups. For example, with a 500 song Spotify playlist, the bot will be able to fetch the first 100 songs the first day the Spotify playlist URL is used with Audio, then the next day it will be able to use the first 100 lookups from the local cache, and use the API credits to look up the next 100 songs. After 5 days of playing the Spotify playlist through Audio, that playlist will be fully cached locally until the cached entries are set to expire and will not require any API credits to play songs.
The following commands are relevant:
[p]genre
- Lets users pick a Spotify music genre to queue music from.[p]audioset countrycode
- Lets guild owners specify what country code to prefer for Spotify searches, for the guild.[p]audioset mycountrycode
- Lets individual users pick what country code to prefer for Spotify searches of their own.
Local Tracks
Audio can play music from a localtracks
folder on the device where the bot is hosted. This feature is only available
if your bot and your Lavalink.jar are on the same host, which is the default setup.
To use this feature:
Create a “localtracks” folder anywhere where Lavalink/your bot user has permissions to access, on the system.
Use
[p]audioset localpath <localtracks path>
to set the folder created above as the localtracks folder.Create/move/copy/symlink your album folders (Subfolders containing your tracks) to the folder created in Step 1.
Put any of Audio’s supported files in the following folders:
localtracks/<parent folder>/song.mp3
localtracks/<parent folder>/<child folder>/song.mp3
When using this localtracks feature, use [p]local
commands. Use [p]play <parent folder>/song.mp3
to play
single songs. Use [p]local folder <parent folder>/<child folder>
to play the entire folder.
The following formats are supported:
MP3
FLAC
Matroska/WebM (AAC, Opus or Vorbis codecs)
MP4/M4A (AAC codec)
OGG streams (Opus, Vorbis and FLAC codecs)
AAC streams
The following files are partially supported:
.ra
.wav
.opus
.wma
.ts
.au
.mov
.flv
.mkv
.wmv
.3gp
.m4v
.mk3d
.mka
.mks
The following files are NOT supported:
.mid
.mka
.amr
.aiff
.ac3
.voc
.dsf
.vob
.mts
.avi
.mpg
.mpeg
.swf
DJ Role and Voteskip
Audio has an internal permissions system for restrictions to audio commands while other people are listening to music with the bot. Bot owners, server admins and mods bypass these restrictions when they are in use.
[p]audioset dj
will turn on the DJ role restriction system, [p]audioset role
will let you choose or
reassign the DJ role, and if you wish to make non-privileged users vote to skip songs, voteskip can be enabled
with [p]audioset vote
.
If a non-privileged user is listening to music alone in the channel, they can use commands without restrictions, even if DJ role or voteskip settings are active.
Sound Quality Issues
Laggy audio is most likely caused by:
A problem with the connection between the machine that is hosting Lavalink and the Discord voice server.
Issues with Discord.
You can try the following to resolve poor sound quality:
Don’t host on home internet, especially over a WiFi connection. Try hosting your bot elsewhere.
Try the web browser instead of the desktop client for listening.
Simply wait, as audio quality may improve in due course.
Restart your bot.
Check to make sure it’s not just a bad quality song (try a different song).
Try to listen on a different Discord server or server region.
If not everyone is experiencing the issue, it’s a Discord client issue.
No Sound
If the bot’s speaking light is active, but there is no sound, troubleshoot the following:
Is the bot’s user volume turned up? (right click on the bot in Discord, see the slider).
Is the bot muted or deafened? Are you deafened? Are you deaf?
Check Discord audio device settings and volume (cog icon next to your username in the bottom left, click “Voice and Video”).
Try dragging and dropping the bot back to the voice channel.
Check system audio device settings and volume.
Ask another member to come into the voice channel to confirm that it’s not just you.
If the track progress is stuck on 00:00 when you run [p]now
:
Try to run
[p]disconnect
and replay the song.Try to reload the audio cog with
[p]audioset restart
.Make sure the firewall on the host is configured properly.
Lavalink - Red Community-Supported Advanced Usage
Setting up Multiple Red Instances with Audio on the Same Host
Warning
This section provides instructions for setting up an unmanaged Lavalink node that is on the same machine as the Red bot(s) that need to connect to it. This configuration is supported by the Red community, so if you need additional help, feel free to join the Red Support Server and ask in the #support channel.
If you are looking to set up a remote, unmanaged Lavalink node on a different vps or host than the Red bot(s) that will connect to it, we provide basic instructions in this guide here, but that configuration is partially unsupported as we do not provide help with network configuration or system administration. You will be responsible for configuring your network, firewall, and other system properties to enable playback and for the bot to connect to the remote unmanaged Lavalink server.
If you are wanting to use multiple bots with Audio on the same machine, you’ll need to make a few necessary modifications.
Firstly, stop all Red bots. For each bot using Audio:
Start the bot.
Run the command
[p]llset unmanaged
.Stop the bot.
Next, open a command prompt/terminal window. Navigate to <datapath>/cogs/Audio
for any of your bot
instances - it doesn’t matter which bot as all your bots will now use this single instance of Lavalink.
You can find your <datapath>
with the [p]datapath
command.
Now you need to determine your RAM needs. If your bot has 1GB RAM available, Lavalink should be restricted to perhaps 384MB -> 768MB, depending on the cogs you have installed. If your bot has 2GB of RAM available, a good amount may be 512MB -> 1GB.
Run the following command, where Xmx
specifies the RAM value you have just determined. The MB suffix
is M and the GB suffix is G.
java -jar -Xmx768M Lavalink.jar -Djdk.tls.client.protocols=TLSv1.2
Leave this command prompt/terminal window open (you will need to do this every time you want to start Lavalink for your bots). Once Lavalink says it has fully started, you can start your bots back up.
Note
If you are on Linux, this process can be automated using systemd, for unmanaged Lavalink backends only. See here for details.
Warning
By running multiple bots that use Audio, the responsibility for keeping the Lavalink.jar updated will now be in your hands, as Red will no longer manage it through the Audio cog. See here for guidance.
Linux Lavalink Auto-Restart
Auto-restarting Lavalink is possible on Linux with systemd, for unmanaged Lavalink backends.
Firstly, find out what your datapath is with the [p]datapath
command. Your Lavalink path is
<datapath>/cogs/Audio
. Create a file named auto_update.sh
in your Lavalink path.
Inside this newly created file, paste the following text:
curl -LOz Lavalink.jar https://github.com/Cog-Creators/Lavalink-Jars/releases/latest/download/Lavalink.jar
Run the following, replacing <Lavalink path>
with the Lavalink path you generated earlier (<datapath>/cogs/Audio
).
chmod a+rx <Lavalink path>/auto_update.sh
Now we need to create a service file so that systemd can do its magic. Run the following command:
sudo -e /etc/systemd/system/lavalink.service
Next, paste in the example below, but replacing the following:
<Jar executable path>
- You can find your Java path by runningwhich java
.<Lavalink path>
- The parent folder where your Lavalink executable can be located (usually in<datapath>/cogs/Audio
).<username>
- Your username on the host machine (runecho $USER
).
[Unit]
Description=lavalink
After=multi-user.target
[Service]
ExecStart=<Java executable path> -Djdk.tls.client.protocols=TLSv1.2 -jar < Lavalink path >/Lavalink.jar
WorkingDirectory=<Lavalink path>
User=<username>
Group=<username>
ExecStartPre=/bin/bash <Lavalink path>/auto_update.sh # Comment this line out if you did not create the auto_update.sh
Type=idle
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
Finally, we need to start and enable the service. Run the following commands, separately.
sudo systemctl start lavalink
sudo systemctl enable lavalink
These commands always need to be ran when starting the lavalink service to ensure that the service runs in the background.
Finally, you can run the following to retrieve logs for the service, when you need them:
sudo journalctl -u lavalink
Obtaining the latest Lavalink.jar on a Red update
To manually download the jar
Stop your bot. Download the Lavalink.jar file from here, which could alternatively be downloaded by running the following command:
curl -LOz Lavalink.jar https://github.com/Cog-Creators/Lavalink-Jars/releases/latest/download/Lavalink.jar
Next, stop all instances of Red running on the host, and stop the Lavalink process. Move the new Lavalink.jar to where your old Lavalink.jar is located, overwriting the old file.
Finally, start up the new Lavalink.jar process via a process manager like systemd, or by running the following command:
java -jar Lavalink.jar -Djdk.tls.client.protocols=TLSv1.2
Start up your bots, and now they will use the latest Lavalink.jar!
Setting up an unmanaged Lavalink node on a remote VPS or server
Attention
We’d like to thank BreezeQS, as this guide is a supersession of their unofficial bare-bones guide.
This guide explains how to set up an unmanaged Lavalink node on a separate server running Ubuntu 20.04 LTS. It is assumed your bot currently uses a managed Lavalink server (Red’s default).
Warning
This guide is provided for advice on this topic and this is generally not a supported configuration for Red’s usage of Lavalink, as it involves system administration and network configuration. However, if you run into any issues, feel free to ask for help in the Red Support Server, in the #general channel.
Warning
For security purposes DO NOT follow this guide while logged in as the root user. You should create a separate non-root user instead. You can follow this guide from DigitalOcean if you need help about how this is done.
Prerequisite Installation
We will first install Lavalink and lay the foundation for our finished server. There are some prerequisites that must be installed on the server you aim to use for running Lavalink. To set those up, run each of the following commands one by one.
sudo apt update
sudo apt upgrade -y
sudo apt install curl nano -y
If you have no preference in which Java version you install on your target system, Red uses OpenJDK 11 in the managed Lavalink configuration. It can be installed by running:
sudo apt install openjdk-11-jre-headless -y
Otherwise, Lavalink works well with most versions of Java 11, 13, 15, 16, 17, and 18. Azul Zulu builds are suggested, see here for more information.
Setting Up The Lavalink Folder
Lavalink itself, its configuration, and its logs will all be kept in a single directory. In this guide, we will simply call this directory lavalink and it will be located in the home directory of the user you are logged in as.
We need to create a new directory called lavalink, and then switch to it as the upcoming sections of this guide require your current directory to be the lavalink folder. We can achieve this by running the following commands one by one:
cd
mkdir lavalink
cd lavalink
Installing Lavalink
The Lavalink executable used in Red-Discordbot is slightly modified and is not the same as stock Lavalink,
it ensures proper operation when used with Red-Discordbot and compatibility with systems and libraries that
Red uses to operate. It’s required to use this Lavalink.jar when running unmanaged Lavalink servers to not
void your privilege to receive support. Assuming your current directory is the lavalink folder as you ran
the cd lavalink
command in the previous section, you can run the following commands one by one to install it:
curl https://raw.githubusercontent.com/freyacodes/Lavalink/master/LavalinkServer/application.yml.example > application.yml
curl -LOz Lavalink.jar https://github.com/Cog-Creators/Lavalink-Jars/releases/latest/download/Lavalink.jar
If you did it properly, the files Lavalink.jar
and application.yml
will show up when we run ls
, the Linux command
to list the contents of the current directory.
Configuring Lavalink
Lavalink stores its settings inside the application.yml
file located in the same directory as the executable jar itself.
You have to edit this file and change some settings for security purposes.
First, let’s open the file. You can use any text editor you want, but in this guide we will use nano. Run the following command:
nano application.yml
You will be dropped into the nano text editor with application.yml
opened. The two important fields that we will modify
are the port
and password
fields.
The port
field is the TCP port your Lavalink server will be accessible at. The default value is 2333, and you can set this
to any positive integer smaller than 65535 and greater than 1000. It is advised to change it to aid in security.
The password
field is the password that will be required for accessing your Lavalink server and by default the password is
youshallnotpass
. You should absolutely change this to a secure password.
Those two fields are important and you should take note of the new values you entered, as they will be later required to connect your bot to the Lavalink server.
At the bottom of the screen, the nano text editor displays some keys that can be used to carry out various tasks. In this case, we want to save and exit. Keys prefixed with the caret (^) sign means they are used in conjunction with the ctrl key. So we press Ctrl+X to exit.
Nano will ask if you want to save the changes that were made. Answer with y
and hit enter to exit.
Starting Lavalink
Now that Lavalink has been installed and configured, we can start it up. To do so, run the following command, making sure that you are inside the lavalink folder, of course:
java -Djdk.tls.client.protocols=TLSv1.2 -jar Lavalink.jar
On successful start, Lavalink will greet you with a line mentioning that it is ready to accept connections and you can now try connecting to it with your bot.
Since we did not configure autostart for Lavalink, you will have to keep the console window open or it will be shut down and all connections will be dropped. This is similar to how it happens in Red-Discordbot itself.
This also means that you will have to restart Lavalink manually each time you log on. This is often done in testing environments. You can restart Lavalink manually by running the following commands one by one:
cd
cd lavalink
java -Djdk.tls.client.protocols=TLSv1.2 -jar Lavalink.jar
You can stop Lavalink and reclaim the console by hitting CTRL+C
.
Updating Lavalink
With new releases of Red-Discordbot, sometimes new Lavalink jars are also released. Using an obsolete version of Lavalink with newer versions of Red-Discordbot can cause all sorts of problems.
Normally, users do not have to worry about this as when Red-Discordbot is configured to use a managed Lavalink server (the default setting) Lavalink is automatically updated when a new release comes out.
However, since you are running a Lavalink instance yourself you are responsible for keeping it up to date. When a new release of Red-Discordbot also requires a update to the Lavalink jar, you will be informed in the changelogs posted in our documentation.
When a new Lavalink.jar comes out, you can easily update the existing one. First, you should stop Lavalink if it’s currently running. Once you have done this, you can follow the instructions on how to obtain the latest Lavalink.jar on a Red update.
In the next section we will see how you can configure Lavalink to automatically update, automatically start, and run as a background process which is much more convenient for non-testing deployments.
Setting up Auto Update
As previously covered, running Lavalink in a simple terminal session is fragile. Not only does it need you to manually intervene each time you login, reboot, or just have to restart Lavalink for any reason you also have to update it manually when a new Lavalink jar comes out.
First of all, we will configure a script for updating Lavalink that runs before each time Lavalink starts. This step is highly recommended. But if you know what you are doing, you can skip it if you want to update Lavalink manually.
First, run the following commands:
cd
cd lavalink
nano auto_update.sh
You’ll see that running nano has opened a file. Paste the following code into the file:
#!/bin/sh
curl -LOz Lavalink.jar https://github.com/Cog-Creators/Lavalink-Jars/releases/latest/download/Lavalink.jar
Now save the file and exit (CTRL+X
, then y
).
Now, run the following command, which will make the script possible to run:
chmod a+rx auto_update.sh
If you did it right, the command itself will not output anything. And when running ls
, the script will show up in green.
Setting Up the Systemd Service
We will now register Lavalink as a system service, allowing it to run in the background without user intervention. But before that, we need to gather some information. While in the lavalink folder, run the following commands one by one and note their output somewhere, because we will need them:
pwd
which java
echo "$USER"
Now run the following command:
sudo -e /etc/systemd/system/lavalink.service
On new systems it may ask for a choice of editor. Nano is the best choice. To select it, press 1 and hit enter. The nano text editor will now open. Now copy and paste the following text into it:
[Unit]
Description=lavalink
After=multi-user.target
[Service]
ExecStart=< Java executable path > -Djdk.tls.client.protocols=TLSv1.2 -jar < Lavalink path >/Lavalink.jar
WorkingDirectory=< Lavalink path >
User=< username >
Group=< username >
ExecStartPre=/bin/bash < Lavalink path >/auto_update.sh # Comment this line out if you did not create the auto_update.sh
Type=idle
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
Replace all occurrences of
< Lavalink path >
with the output ofpwd
you noted earlier.Replace all occurrences of
< Java executable path >
with the output ofwhich java
you noted earlier.Replace all occurrences of
< username >
with the output of echo"$USER"
you noted earlier.
Hit CTRL+X
, y
and then ENTER to save and exit. We have now registered Lavalink as a service.
Starting and Enabling the Lavalink Service
Now run the following command to start the Lavalink service and wait for 10-15 seconds:
sudo systemctl start lavalink
You can check the service status with the following command:
sudo journalctl -u lavalink
Keep in mind this will occupy your terminal and you have to hit CTRL+C to stop it before doing something else. This will only close the log viewer, Lavalink itself will continue to run in the background.
You may now run the following to make Lavalink auto-restart each boot:
sudo systemctl enable lavalink
Tip
You can stop the Lavalink service with the following when you need to e.g. for troubleshooting:
sudo systemctl stop lavalink
You can also check the logs Lavalink persists by checking the spring.log
file in the lavalink/logs/
folder.
Congratulations, you are almost ready.
Connecting to Your New Lavalink Server
If your Red instance and Lavalink server will communicate over the Internet, make sure the Lavalink port is accessible
from the internet. Click here and test if the port you set in the application.yml
is accessible on the public ip address of your Lavalink server. This step isn’t necessary if your Lavalink server and Red
instance will communicate over LAN. If you get connectivity errors, make sure there are no firewalls blocking the port and
you are using the correct port.
If successful, run each of the following commands one by one on your bot. Replace "yourlavalinkip"
with the ip of your Lavalink server.
Change "port"
with the port you set up in the application.yml. Change "password"
with the password you set up in the application.yml.
Do not use quotes in these commands. For example, [p]llset host 192.168.10.101
or [p]llset password ahyesverysecure
.
[p]llset unmanaged
[p]llset host "yourlavalinkip"
[p]llset port "port"
[p]llset password "password"
Reload audio with [p]reload audio
and give it a few seconds to connect.
You now (hopefully) have a functioning Lavalink server on a machine separate to the one running your Red instance. Good luck!
Commands
audioset
Syntax
[p]audioset
Description
Music configuration options.
audioset autodeafen
Note
This command is locked to the mod role.
Syntax
[p]audioset autodeafen
Description
Toggle whether the bot will be auto deafened upon joining the voice channel.
audioset autoplay
Note
This command is locked to the mod role.
Syntax
[p]audioset autoplay
Description
Change auto-play setting.
audioset autoplay playlist
Syntax
[p]audioset autoplay playlist <playlist_name_OR_id> [args]
Description
Set a playlist to auto-play songs from.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example Usage
[p]audioset autoplay playlist MyGuildPlaylist
[p]audioset autoplay playlist MyGlobalPlaylist --scope Global
[p]audioset autoplay playlist PersonalPlaylist --scope User --author Draper
audioset autoplay reset
Syntax
[p]audioset autoplay reset
Description
Resets auto-play to the default playlist.
audioset autoplay toggle
Syntax
[p]audioset autoplay toggle
Description
Toggle auto-play when there are no songs in the queue.
audioset cache
Note
This command is locked to the bot owner.
Syntax
[p]audioset cache [level]
Description
Sets the caching level.
Level can be one of the following:
0
: Disables all caching1
: Enables Spotify Cache2
: Enables YouTube Cache3
: Enables Lavalink Cache5
: Enables all Caches
If you wish to disable a specific cache use a negative number.
audioset cacheage
Note
This command is locked to the bot owner.
Syntax
[p]audioset cacheage <age>
Description
Sets the cache max age. This commands allows you to set the max number of days before an entry in the cache becomes invalid.
audioset countrycode
Note
This command is locked to the mod role.
Syntax
[p]audioset countrycode <country>
Description
Set the country code for Spotify searches.
audioset dailyqueue
Note
This command is locked to the admin role.
Syntax
[p]audioset dailyqueue
Description
Toggle daily queues. Daily queues creates a playlist for all tracks played today.
audioset dc
Note
This command is locked to the mod role.
Syntax
[p]audioset dc
Description
Toggle the bot auto-disconnecting when done playing. This setting takes precedence
over [p]audioset emptydisconnect
.
audioset dj
Note
This command is locked to the admin role.
Syntax
[p]audioset dj
Description
Toggle DJ mode. DJ mode allows users with the DJ role to use audio commands.
audioset emptydisconnect
Note
This command is locked to the mod role.
Syntax
[p]audioset emptydisconnect <seconds>
Description
Auto-disconnect from channel when bot is alone in it for x seconds, 0 to disable.
[p]audioset dc
takes precedence over this setting.
audioset emptypause
Note
This command is locked to the mod role.
Syntax
[p]audioset emptypause <seconds>
Description
Auto-pause after x seconds when the channel is empty, 0 to disable.
audioset globaldailyqueue
Note
This command is locked to the bot owner.
Syntax
[p]audioset globaldailyqueue
Description
Toggle global daily queues. Global daily queues creates a playlist for all tracks played today.
audioset jukebox
Note
This command is locked to the mod role.
Syntax
[p]audioset jukebox <price>
Description
Set a price for queueing tracks for non-mods, 0 to disable.
audioset localpath
Note
This command is locked to the bot owner.
Syntax
[p]audioset localpath [local_path]
Description
Set the localtracks path if the Lavalink.jar is not run from the Audio data folder. Leave the path blank to reset the path to the default, the Audio data directory.
audioset logs
Note
This command is locked to the bot owner.
Note
This command is only available for managed Lavalink servers.
Syntax
[p]audioset logs
Description
Sends the Lavalink server logs to your DMs.
audioset lyrics
Note
This command is locked to the mod role.
Syntax
[p]audioset lyrics
Description
Prioritise tracks with lyrics.
audioset maxlength
Note
This command is locked to the mod role.
Syntax
[p]audioset maxlength <seconds>
Description
Max length of a track to queue in seconds, 0 to disable. Accepts seconds or a value
formatted like 00:00:00 (hh:mm:ss
) or 00:00 (mm:ss
). Invalid input will turn
the max length setting off.
audioset maxvolume
Note
This command is locked to the admin role.
Syntax
[p]audioset maxvolume <maximum volume>
Description
Set the maximum volume allowed in this server.
audioset mycountrycode
Syntax
[p]audioset mycountrycode <country>
Description
Set the country code for Spotify searches.
audioset notify
Note
This command is locked to the mod role.
Syntax
[p]audioset notify
Description
Toggle track announcement and other bot messages.
audioset persistqueue
Note
This command is locked to the admin role.
Syntax
[p]audioset persistqueue
Description
Toggle persistent queues. Persistent queues allows the current queue to be restored when the queue closes.
audioset restart
Note
This command is locked to the bot owner.
Syntax
[p]audioset restart
Description
Restarts the lavalink connection.
audioset restrict
Note
This command is locked to the bot owner.
Syntax
[p]audioset restrict
Description
Toggle the domain restriction on Audio.
When toggled off, users will be able to play songs from non-commercial websites and links. When toggled on, users are restricted to YouTube, SoundCloud, Vimeo, Twitch, and Bandcamp links.
audioset restrictions
Note
This command is locked to the mod role.
Syntax
[p]audioset restrictions
Description
Manages the keyword whitelist and blacklist.
audioset restrictions blacklist
Syntax
[p]audioset restrictions blacklist
Description
Manages the keyword blacklist.
audioset restrictions blacklist add
Syntax
[p]audioset restrictions blacklist add <keyword>
Description
Adds a keyword to the blacklist.
audioset restrictions blacklist clear
Syntax
[p]audioset restrictions blacklist clear
Description
Clear all keywords added to the blacklist.
audioset restrictions blacklist delete
Syntax
[p]audioset restrictions blacklist delete <keyword>
Description
Removes a keyword from the blacklist.
audioset restrictions blacklist list
Syntax
[p]audioset restrictions blacklist list
Description
List all keywords added to the blacklist.
audioset restrictions global
Note
This command is locked to the bot owner.
Syntax
[p]audioset restrictions global
Description
Manages the global keyword whitelist/blacklist.
audioset restrictions global blacklist
Syntax
[p]audioset restrictions global blacklist
Description
Manages the global keyword blacklist.
audioset restrictions global blacklist add
Syntax
[p]audioset restrictions global blacklist add <keyword>
Description
Adds a keyword to the blacklist.
audioset restrictions global blacklist clear
Syntax
[p]audioset restrictions global blacklist clear
Description
Clear all keywords added to the blacklist.
audioset restrictions global blacklist delete
Syntax
[p]audioset restrictions global blacklist delete <keyword>
Description
Removes a keyword from the blacklist.
audioset restrictions global blacklist list
Syntax
[p]audioset restrictions global blacklist list
Description
List all keywords added to the blacklist.
audioset restrictions global whitelist
Syntax
[p]audioset restrictions global whitelist
Description
Manages the global keyword whitelist.
audioset restrictions global whitelist add
Syntax
[p]audioset restrictions global whitelist add <keyword>
Description
Adds a keyword to the whitelist. If anything is added to whitelist, it will blacklist everything else.
audioset restrictions global whitelist clear
Syntax
[p]audioset restrictions global whitelist clear
Description
Clear all keywords from the whitelist.
audioset restrictions global whitelist delete
Syntax
[p]audioset restrictions global whitelist delete <keyword>
Description
Removes a keyword from the whitelist.
audioset restrictions global whitelist list
Syntax
[p]audioset restrictions global whitelist list
Description
List all keywords added to the whitelist.
audioset restrictions whitelist
Syntax
[p]audioset restrictions whitelist
Description
Manages the keyword whitelist.
audioset restrictions whitelist add
Syntax
[p]audioset restrictions whitelist add <keyword>
Description
Adds a keyword to the whitelist. If anything is added to whitelist, it will blacklist everything else.
audioset restrictions whitelist clear
Syntax
[p]audioset restrictions whitelist clear
Description
Clear all keywords from the whitelist.
audioset restrictions whitelist delete
Syntax
[p]audioset restrictions whitelist delete <keyword>
Description
Removes a keyword from the whitelist.
audioset restrictions whitelist list
Syntax
[p]audioset restrictions whitelist list
Description
List all keywords added to the whitelist.
audioset role
Note
This command is locked to the admin role.
Syntax
[p]audioset role <role_name>
Description
Set the role to use for DJ mode.
audioset settings
Syntax
[p]audioset settings
Description
Show the current settings.
audioset spotifyapi
Note
This command is locked to the bot owner.
Syntax
[p]audioset spotifyapi
Description
Instructions to set the Spotify API tokens.
audioset status
Note
This command is locked to the bot owner.
Syntax
[p]audioset status
Description
Enable/disable tracks’ titles as status.
audioset thumbnail
Note
This command is locked to the mod role.
Syntax
[p]audioset thumbnail
Description
Toggle displaying a thumbnail on audio messages.
audioset vote
Note
This command is locked to the mod role.
Syntax
[p]audioset vote <percent>
Description
Percentage needed for non-mods to skip tracks, 0 to disable.
audioset youtubeapi
Note
This command is locked to the bot owner.
Syntax
[p]audioset youtubeapi
Description
Instructions to set the YouTube API key.
audiostats
Note
This command is locked to the bot owner.
Syntax
[p]audiostats
Description
Audio stats.
autoplay
Note
This command is locked to the mod role.
Syntax
[p]autoplay
Description
Starts auto play.
bump
Syntax
[p]bump <index>
Description
Bump a track number to the top of the queue.
bumpplay
Syntax
[p]bumpplay [play_now=False] <query>
Description
Force play a URL or search for a track.
disconnect
Syntax
[p]disconnect
Description
Disconnect from the voice channel.
eq
Syntax
[p]eq
Description
Equalizer management.
Band positions are 1-15 and values have a range of -0.25 to 1.0. Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz. Setting a band value to -0.25 nullifies it while +0.25 is double.
eq delete
Syntax
[p]eq delete <eq_preset>
Description
Delete a saved eq preset.
eq list
Syntax
[p]eq list
Description
List saved eq presets.
eq load
Syntax
[p]eq load <eq_preset>
Description
Load a saved eq preset.
eq reset
Syntax
[p]eq reset
Description
Reset the eq to 0 across all bands.
eq save
Syntax
[p]eq save [eq_preset]
Description
Save the current eq settings to a preset.
eq set
Syntax
[p]eq set <band_name_or_position> <band_value>
Description
Set an eq band with a band number or name and value.
Band positions are 1-15 and values have a range of -0.25 to 1.0. Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz. Setting a band value to -0.25 nullifies it while +0.25 is double.
genre
Syntax
[p]genre
Description
Pick a Spotify playlist from a list of categories to start playing.
local
Syntax
[p]local
Description
Local playback commands.
local folder
Syntax
[p]local folder [folder]
Description
Play all songs in a localtracks folder.
Example usage
[p]local folder
- Open a menu to pick a folder to queue.[p]local folder folder_name
- Queues all of the tracks inside the folder_name folder.
local play
Syntax
[p]local play
Description
Play a local track.
To play a local track, either use the menu to choose a track or enter in the track path directly
with the play command. To play an entire folder, use [p]help local folder
for instructions.
Example usage
[p]local play
- Open a menu to pick a track.[p]play localtracks\album_folder\song_name.mp3
[p]play album_folder\song_name.mp3
- Use a direct link relative to the localtracks folder.
local search
Syntax
[p]local search <search_words>
Description
Search for songs across all localtracks folders.
now
Syntax
[p]now
Description
Now playing.
pause
Syntax
[p]pause
Description
Pause or resume a playing track.
percent
Syntax
[p]percent
Description
Queue percentage.
play
Syntax
[p]play <query>
Description
Play the specified track or search for a close match.
To play a local track, the query should be <parentfolder>\<filename>
.
If you are the bot owner, use [p]audioset info
to display your localtracks path.
playlist
Syntax
[p]playlist
Description
Playlist configuration options.
Scope information
Global: Visible to all users of this bot. Only editable by bot owner.
Guild: Visible to all users in this guild. Editable by bot owner, guild owner, guild admins, guild mods, DJ role and playlist creator.
User: Visible to all bot users, if
--author
is passed. Editable by bot owner and playlist creator.
playlist append
Syntax
[p]playlist append <playlist_name_OR_id> <track_name_OR_url> [args]
Description
Add a track URL, playlist link, or quick search to a playlist. The track(s) will be appended to the end of the playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist append MyGuildPlaylist Hello by Adele
[p]playlist append MyGlobalPlaylist Hello by Adele --scope Global
[p]playlist append MyGlobalPlaylist Hello by Adele --scope Global --Author Draper#6666
playlist copy
Syntax
[p]playlist copy <id_or_name> [args]
Description
Copy a playlist from one scope to another.
Args
The following are all optional:
–from-scope <scope>
–from-author [user]
–from-guild [guild] (only the bot owner can use this)
–to-scope <scope>
–to-author [user]
–to-guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist copy MyGuildPlaylist --from-scope Guild --to-scope Global
[p]playlist copy MyGlobalPlaylist --from-scope Global --to-author Draper#6666 --to-scope User
[p]playlist copy MyPersonalPlaylist --from-scope user --to-author Draper#6666 --to-scope Guild --to-guild Red - Discord Bot
playlist create
Syntax
[p]playlist create <name> [args]
Description
Create an empty playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist create MyGuildPlaylist
[p]playlist create MyGlobalPlaylist --scope Global
[p]playlist create MyPersonalPlaylist --scope User
playlist dedupe
Syntax
[p]playlist dedupe <playlist_name_OR_id> [args]
Description
Remove duplicate tracks from a saved playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist dedupe MyGuildPlaylist
[p]playlist dedupe MyGlobalPlaylist --scope Global
[p]playlist dedupe MyPersonalPlaylist --scope User
playlist delete
Syntax
[p]playlist delete <playlist_name_OR_id> [args]
Description
Delete a saved playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist delete MyGuildPlaylist
[p]playlist delete MyGlobalPlaylist --scope Global
[p]playlist delete MyPersonalPlaylist --scope User
playlist download
Note
This command is locked to the bot owner.
Syntax
[p]playlist download <playlist_name_OR_id> [v2=False] [args]
Description
Download a copy of a playlist.
These files can be used with the [p]playlist upload
command.
Red v2-compatible playlists can be generated by passing True
for the v2 variable.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist download MyGuildPlaylist True
[p]playlist download MyGlobalPlaylist False --scope Global
[p]playlist download MyPersonalPlaylist --scope User
playlist info
Syntax
[p]playlist info <playlist_name_OR_id> [args]
Description
Retrieve information from a saved playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist info MyGuildPlaylist
[p]playlist info MyGlobalPlaylist --scope Global
[p]playlist info MyPersonalPlaylist --scope User
playlist list
Syntax
[p]playlist list [args]
Description
List saved playlists.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist list
[p]playlist list --scope Global
[p]playlist list --scope User
playlist queue
Syntax
[p]playlist queue <name> [args]
Description
Save the queue to a playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist queue MyGuildPlaylist
[p]playlist queue MyGlobalPlaylist --scope Global
[p]playlist queue MyPersonalPlaylist --scope User
playlist remove
Syntax
[p]playlist remove <playlist_name_OR_id> <url> [args]
Description
Remove a track from a playlist by URL.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist remove MyGuildPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU
[p]playlist remove MyGlobalPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU --scope Global
[p]playlist remove MyPersonalPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU --scope User
playlist rename
Syntax
[p]playlist rename <playlist_name_OR_id> <new_name> [args]
Description
Rename an existing playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist rename MyGuildPlaylist RenamedGuildPlaylist
[p]playlist rename MyGlobalPlaylist RenamedGlobalPlaylist --scope Global
[p]playlist rename MyPersonalPlaylist RenamedPersonalPlaylist --scope User
playlist save
Syntax
[p]playlist save <name> <url> [args]
Description
Save a playlist from a URL.
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist save MyGuildPlaylist https://www.youtube.com/playlist?list=PLx0sYbCqOb8Q_CLZC2BdBSKEEB59BOPUM
[p]playlist save MyGlobalPlaylist https://www.youtube.com/playlist?list=PLx0sYbCqOb8Q_CLZC2BdBSKEEB59BOPUM --scope Global
[p]playlist save MyPersonalPlaylist https://open.spotify.com/playlist/1RyeIbyFeIJVnNzlGr5KkR --scope User
playlist start
Syntax
[p]playlist start <playlist_name_OR_id> [args]
Description
Load a playlist into the queue.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist start MyGuildPlaylist
[p]playlist start MyGlobalPlaylist --scope Global
[p]playlist start MyPersonalPlaylist --scope User
playlist update
Syntax
[p]playlist update <playlist_name_OR_id> [args]
Description
Updates all tracks in a playlist.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist update MyGuildPlaylist
[p]playlist update MyGlobalPlaylist --scope Global
[p]playlist update MyPersonalPlaylist --scope User
playlist upload
Note
This command is locked to the bot owner.
Syntax
[p]playlist upload [args]
Description
Uploads a playlist file as a playlist for the bot.
V2 and old V3 playlist will be slow.
V3 Playlist made with [p]playlist download
will load a lot faster.
Args
The following are all optional:
–scope <scope>
–author [user]
–guild [guild] (only the bot owner can use this)
Scope is one of the following:
Global
Guild
User
Author can be one of the following:
User ID
User Mention
User Name#123
Guild can be one of the following:
Guild ID
Exact guild name
Example usage
[p]playlist upload
[p]playlist upload --scope Global
[p]playlist upload --scope User
prev
Syntax
[p]prev
Description
Skip to the start of the previously played track.
queue
Syntax
[p]queue [page=1]
Description
List the songs in the queue.
queue clean
Syntax
[p]queue clean
Description
Removes songs from the queue if the requester is not in the voice channel.
queue cleanself
Syntax
[p]queue cleanself
Description
Removes all tracks you requested from the queue.
queue clear
Syntax
[p]queue clear
Description
Clears the queue.
queue search
Syntax
[p]queue search <search_words>
Description
Search the queue.
queue shuffle
Syntax
[p]queue shuffle
Description
Shuffles the queue.
remove
Syntax
[p]remove <index_or_url>
Description
Remove a specific track number from the queue.
repeat
Syntax
[p]repeat
Description
Toggle repeat.
search
Syntax
[p]search <query>
Description
Pick a track with a search.
Use [p]search list <search term>
to queue all tracks found on YouTube. Use [p]search sc
<search term>
to search on SoundCloud instead of YouTube.
seek
Syntax
[p]seek <seconds>
Description
Seek ahead or behind on a track by seconds or to a specific time. Accepts seconds or
a value formatted like 00:00:00 (hh:mm:ss
) or 00:00 (mm:ss
).
shuffle
Syntax
[p]shuffle
Description
Toggle shuffle.
shuffle bumped
Syntax
[p]shuffle bumped
Description
Toggle bumped track shuffle.
Set this to disabled if you wish to avoid bumped songs being shuffled. This takes priority
over [p]shuffle
.
sing
Syntax
[p]sing
Description
Make Red sing one of her songs.
skip
Syntax
[p]skip [skip_to_track]
Description
Skip to the next track, or to a given track number.
stop
Syntax
[p]stop
Description
Stop playback and clear the queue.
summon
Syntax
[p]summon
Description
Summon the bot to a voice channel.
volume
Syntax
[p]volume [vol]
Description
Set the volume, 1% - 150%.
Lavalink Setup Commands
[p]llset
group commands are used for advanced management of the connection to the Lavalink
server. The subcommands are dynamically available depending on whether Red is managing your
Lavalink node or if you are connecting to one you manage yourself, or a service that offers Lavalink
nodes.
Commands specifically for managed Lavalink nodes can be found in this section, whilst commands for unmanaged Lavalink nodes can be found here.
llset
Note
This command is locked to the bot owner.
Syntax
[p]llset
Description
Manage Lavalink node configuration settings. This command holds all commands to manage an unmanaged (user-managed) or managed (bot-managed) Lavalink node.
Warning
You should not change any command settings in this group command unless you have a valid reason to, e.g. been told by someone in the Red-Discord Bot support server to do so. Changing llset command settings have the potential to break Audio cog connection and playback if the wrong settings are used.
llset unmanaged
Syntax
[p]llset unmanaged
or
[p]llsetup unmanaged
Description
Toggle using unmanaged (user-managed) Lavalink nodes - requires an existing Lavalink node for Audio to work, if enabled. This command disables the managed (bot-managed) Lavalink server: if you do not have an unmanaged Lavalink node set up, you will be unable to use Audio while this is enabled.
llset info
Syntax
[p]llset info
Description
Display Lavalink connection settings.
llset reset
Syntax
[p]llset reset
Description
Reset all [p]llset
changes back to their default values.
Managed Node Management Commands
llset config
Syntax
[p]llset config
Description
Configure the managed Lavalink node runtime options.
All settings under this group will likely cause Audio to malfunction if changed from their defaults, only change settings here if you have been advised to by #support.
llset config bind
Syntax
[p]llset config bind [host=localhost]
Description
Set the managed Lavalink node’s binding IP address.
Arguments
[host]
: The node’s binding IP address, defaulting to “localhost”.
llset config port
Syntax
[p]llset config port [port=2333]
Description
Set the managed Lavalink node’s connection port.
This port is the port the managed Lavalink node binds to, you should only change this if there is a conflict with the default port because you already have an application using port 2333 on this device.
Arguments
[port]
: The node’s connection port, defaulting to 2333.
llset config server
Syntax
[p]llset config server
Description
Configure the managed node authorization and connection settings.
llset config server buffer
Syntax
[p]llset config server buffer [milliseconds=400]
Description
Set the managed Lavalink node JDA-NAS buffer size. Only change this if you have been directly advised to, changing it can cause significant playback issues.
Arguments
[milliseconds]
- The buffer size, defaults to 400.
llset config server framebuffer
Syntax
[p]llset config server framebuffer [milliseconds=1000]
Description
Set the managed Lavalink node framebuffer size. Only change this if you have been directly advised to, changing it can cause significant playback issues.
Arguments
[milliseconds]
- The framebuffer size, defaults to 1000.
llset config source
Syntax
[p]llset config source
Description
Toggle audio sources on/off.
By default, all sources are enabled, you should only use commands here to disable a specific source if you have been advised to, disabling sources without background knowledge can cause Audio to break.
llset config source bandcamp
Syntax
[p]llset config source bandcamp
Description
Toggle Bandcamp source on or off. This toggle controls the playback of all Bandcamp related content.
llset config source http
Syntax
[p]llset config source http
Description
Toggle HTTP direct URL usage on or off. This source is used to allow playback from direct HTTP streams (this does not affect direct URL playback for the other sources).
llset config source local
Syntax
[p]llset config source local
Description
Toggle local file usage on or off.
This toggle controls the playback of all local track content,
usually found inside the localtracks
folder.
llset config source soundcloud
Syntax
[p]llset config source soundcloud
Description
Toggle SoundCloud source on or off. This toggle controls the playback of all SoundCloud related content.
llset config source twitch
Syntax
[p]llset config source twitch
Description
Toggle Twitch source on or off. This toggle controls the playback of all Twitch related content.
llset config source vimeo
Syntax
[p]llset config source vimeo
Description
Toggle Vimeo source on or off. This toggle controls the playback of all Vimeo related content.
llset config source youtube
Syntax
[p]llset config source youtube
Description
Toggle YouTube source on or off (this includes Spotify). This toggle controls the playback of all YouTube and Spotify related content.
llset config token
Syntax
[p]llset config token [password=youshallnotpass]
Description
Set the managed Lavalink node’s connection password.
This is the password required for Audio to connect to the managed Lavalink node.
The value by default is youshallnotpass
.
Arguments
[password]
- The node’s connection password, defaulting toyoushallnotpass
.
llset heapsize
Syntax
[p]llset heapsize [size=3G]
Description
Set the managed Lavalink node maximum heap-size.
By default, this value is 50% of available RAM in the host machine represented by [1-1024][M|G] (256M, 256G for example).
This value only represents the maximum amount of RAM allowed to be used at any given point, and does not mean that the managed Lavalink node will always use this amount of RAM.
Arguments
[size]
- The node’s maximum heap-size, defaulting to3G
.
llset java
Syntax
[p]llset java [javapath]
Description
Change your Java executable path.
This command shouldn’t need to be used most of the time, and is only useful if the host machine has conflicting Java versions.
If changing this make sure that the Java executable you set is supported by Audio. The current supported version is Java 11.
Arguments
[java]
- The java executable path, leave blank to reset it back to default.
llset yaml
Syntax
[p]llset yaml
Description
Uploads a copy of the application.yml file used by the managed Lavalink node.
Unmanaged Node Management Commands
Note
A normal Red user should never have to use these commands unless they are managing multiple Red bots with Audio.
llset host
Syntax
[p]llset host [host=localhost]
Description
Set the Lavalink node host. This command sets the connection host which Audio will use to connect to an unmanaged Lavalink node.
Arguments
[host]
- The connection host, defaulting to “localhost”.
llset password
Syntax
[p]llset password [password=youshallnotpass]
Description
Set the Lavalink node password. This command sets the connection password which Audio will use to connect to an unmanaged Lavalink node.
Arguments
[password]
- The connection password, defaulting to “youshallnotpass”.
llset port
Syntax
[p]llset port [port=2333]
Description
Set the Lavalink node port. This command sets the connection port which Audio will use to connect to an unmanaged Lavalink node.
Arguments
[password]
- The connection password, defaulting to 2333.
llset secured
Syntax
[p]llset secured
Description
Set the Lavalink node connection to secured. This toggle sets the connection type to secured or unsecured when connecting to an unmanaged Lavalink node.