DLAP is a Discord bot that lets you play local audio tracks in your server. With DLAP, you can access your music files, and share your tunes with your friends and community. DLAP offers seamless integration with Discord, so you can enjoy your music without missing a beat.
If you want to add a feature or there's anything wrong, read the [CONTRIBUTING](https://github.com/Alee14/DLAP/blob/stable/CONTRIBUTING.md) document, then feel free to make a fork and put a pull request.
Before we begin, ensure that Docker is installed on your system. If not, you can download and install Docker from the [official website](https://www.docker.com/get-started).
## Fetching the Docker Image
You can fetch the Docker image for the DLAP bot from either DockerHub or GitHub Packages. Here are the commands for both:
### DockerHub
To fetch the image from DockerHub, use the following command:
```bash
docker pull alee14498/dlap:latest
```
### GitHub Packages
Alternatively, you can fetch the image from GitHub Packages using this command:
```bash
docker pull ghcr.io/alee14/dlap:stable
```
After running one of these commands, Docker will download the image to your system. You can then proceed to run the bot using this image.
## Building Docker Image (Optional)
If you want to build the image then using CMD or a terminal change directory to DLAP root folder and type the following:
- -d flag tells Docker to run the container in detached mode, meaning it will run the container in the background of your terminal and not give us any output from it. If we don't provide it, the run will be giving us the output until the application exits. Discord bots aren't supposed to exit after certain time, so we do need this flag
- -v flag in Docker is used for volume mounting. It creates a bind mount, which allows you to specify a host path (on your local machine) and a container path (inside the Docker container). When the Docker container is run, the specified host path is mounted into the container at the specified container path.
- --name assigns a name to the container. By default, container is identified by id that is not human-readable. To conveniently refer to container when needed, we can assign it a name
- \<image name> means the name of the image, if you are building it, then you should use `dlap:latest`, otherwise use either `alee14498/dlap:latest` or `ghcr.io/alee14/dlap:stable`.
- -f flag tells the docker to keep reading logs as they appear in container and is called "follow mode". To exit press CTRL + C.
*Docker guide partially taken from [PythonDiscord](https://www.pythondiscord.com/pages/guides/python-guides/docker-hosting-guide/#creating-dockerfile)*
First you need [activate Developer Mode](https://linuxhint.com/enable-or-disable-developer-mode-discord/#:~:text=To%20enable%20or%20disable%20developer%20mode%20on%20Discord%2C%20first%20launch,the%20%E2%80%9CDeveloper%20Mode%E2%80%9D%20toggle.) on Discord in order to get the IDS
-`"statusChannel"`: Create a channel in your server > Right Click on top > "Copy channel ID"
-`"voiceChannel"`: Create a channel in your server > Right Click on top > "Copy channel ID"
-`"djRole"`: Create a role in your server > Right Click on top > "Copy role ID"
-`"ownerID"`: Right Click on top of yourself on a discord server > "Copy User ID" (Your User ID is not "YouName#3217")
If you want to translate DLAP with another language, create a Parlance account (Victor Tran Account), and ask Victor Tran (server owner) on the [Victor Tran Discord](https://discord.gg/nBpePYdt7U) for permission to translate DLAP.