Note : this is a personal upgrade of the Plex Discord bot made by danxfisher available here : https://github.com/danxfisher/Plex-Discord-Bot He should have all the credit for starting this project.
You need Node.js v16
If you to use Docker , skip the points 2 and 3.
Install Node.js: https://nodejs.org/
Navigate to the root folder and in the console, type npm install
Once this is complete, go here: https://discordapp.com/developers/applications/me
Take all of the information from the page and enter it into the config/keys.js
file, replacing the placeholders.
Navigate to the config/plex.js
file and replace the placeholders with your Plex Server information
Once you have the configs set up correctly, you'll need to authorize your bot on a server you have administrative access to. For documentation, you can read: https://discordapp.com/developers/docs/topics/oauth2#bots. The steps are as follows:
https://discordapp.com/api/oauth2/authorize?client_id=[CLIENT ID]&permissions=3197953&scope=bot
where [CLIENT_ID] is the Discord App Client IDIf want want to use Docker, just go to the Docker section.
index.js
is located) and in your console, type node index.js
If I am missing any steps, feel free to reach out or open an issue/bug in the Issues for this repository.
If you are using Docker, you can use these commands to build and start your Plex bot (after downloading the source code and set the config file) :
go to your plex bot folder (cd your/plex/bot/folder
)
docker build -t image/plexbot .
docker run -p 32400 -d --name plexbot image/plexbot
wait a few seconds and your bot should join your server and be active.
You can use docker logs plexbot
to see the log of the bot (use docker logs -f plexbot
if you want realtime log).
Note : you may need the sudo
command/admin access depending of your user right.
!?
: print all of the available commands.!plexTest
: a test to see make sure your Plex server is connected properly.!clearqueue
: clears all songs in queue.!nextpage
: get next page of songs if desired song is not listed.!pause
: pauses current song if one is playing.!play <song title or artist>
: bot will join voice channel and play song if one song available. if more than one, bot will return a list to choose from.!playsong <song number>
: plays a song from the generated song list.!removesong <song queue number>
: removes song by index from the song queue.!resume
: resumes song if previously paused.!skip
: skips the current song if one is playing and plays the next song in queue if it exists.!stop
: stops song if one is playing.!viewqueue
: displays current song queue.!playlist ?
: displays all the playlist related commands.
Update the config\keys.js
file with your information:
module.exports = {
'botToken' : 'DISCORD_BOT_TOKEN',
};
And update the config\plex.js
file with your Plex information:
module.exports= {
'hostname' : 'PLEX_LOCAL_IP',
'port' : 'PLEX_LOCAL_PORT',
'https' : false,
'token' : 'PLEX_TOKEN',
'managedUser' : 'PLEX_MANAGED_USERNAME',
'options' : {
'identifier': 'APP_IDENTIFIER',
'product' : 'APP_PRODUCT_NAME',
'version' : 'APP_VERSION_NUMBER',
'deviceName': 'APP_DEVICE_NAME',
'platform' : 'Discord',
'device' : 'Discord'
}
};
You can find us on Discord : https://discord.gg/c39aRhB Join it if you want to discuss or have any suggestions.
If you see any bugs use the issue tracker. Thanks!