af91883635
Add better detail of bot creation Add badges Add sample docker-compose.yml |
||
---|---|---|
assets | ||
deploy | ||
PlexBot | ||
.flake8 | ||
.gitignore | ||
.pre-commit-config.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
Jenkinsfile | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
sample-config.yaml |
Plex-Bot
A Python-based Plex music bot for discord.
Setup
Plex-Bot runs entirely in a Docker container. Ensure you have Docker and docker-compose installed according to the official Docker documentation.
- Create a new folder and
cd
into it:
$ mkdir Plex-Bot
$ cd Plex-Bot
- Make a
docker-compose.yml
file or use this sample:
version: "3"
services:
plex-bot:
container_name: "PlexBot"
image: jarulsamy/plex-bot:latest
environment:
- PUID=1000
- PGID=1000
- TZ=America/Denver
# Required dir for configuration files
volumes:
- "./config:/config:ro"
restart: "unless-stopped"
- Create a configuration folder:
Create a new config
folder and create a config file like this:
$ mkdir config
$ cd config
# Create a file called config.yaml with the following contents
root:
log_level: "info"
discord:
prefix: "?"
token: "<BOT_TOKEN>"
log_level: "debug"
plex:
base_url: "<BASE_URL>"
token: "<PLEX_TOKEN>"
library_name: "<LIBRARY_NAME>"
log_level: "debug"
-
Create a Discord bot application:
-
Go to the Discord developer portal, here.
-
Log in or create an account
-
Click New App
-
Fill in App Name and anything else you'd like to include
-
Click Create App This will provide you with your Client ID and Client Secret
-
Click Create Bot User This will provide you with your bot Username and Token
-
Fill in the bot token in
config/config.yaml
-
-
Get your plex token:
-
Refer to the official plex documentation.
-
Add it to
config/config.yaml
in the appropiate spot.
-
-
Customize remaining settings
Set any remaining settings in the config file that you would like. Such as music library, and base url of the Plex server.
-
Start the service:
$ docker-compose up -d
Logs
You can view the logs with the following command
$ docker-compose logs -f CONTAINER_NAME_OR_ID
# For example
$ docker-compose logs -f PlexBot
Usage
General:
kill - Stop the bot.
Plex:
np - View currently playing song.
pause - Pause currently playing song.
play - Play a song from the Plex library.
resume - Resume a paused song.
skip - Skip a song.
stop - Stop playing.
No Category:
help Shows this message
Type ?help command for more info on a command.
You can also type ?help category for more info on a category.
Support
Reach out to me at one of the following places!
- Email (Best) at joshua.gf.arul@gmail.com
- Twitter at
@jarulsamy_