discord-jellyfin-bot/README.md

117 lines
3.8 KiB
Markdown
Raw Normal View History

# Jellyfin Discord Music Bot
2020-09-18 03:18:49 +02:00
Jellyfin Discord Music Bot is a Discord Bot for the [Jellyfin Media Server!](http://github.com/jellyfin/jellyfin)
2020-09-21 07:58:15 +02:00
## Capabilities
2020-10-05 23:39:59 +02:00
### Play to
2020-10-06 00:18:48 +02:00
Just `summon` the Bot into your Channel, than choose the Bot in Jellyfin as the Device you want to cast to
2020-10-05 23:39:59 +02:00
2020-10-05 23:46:32 +02:00
![Image to Discord Play to Window](img/playtowindow.png)
2020-10-05 23:39:59 +02:00
and start playing you favourite Music
### Interactive Play Message
When you start playing something you can easily controll the Bot with just clicking on the Buttons under the Play Message
2020-10-05 23:46:32 +02:00
![Image to Interactive Play Message](img/discordplaymessage.png)
2020-10-05 23:39:59 +02:00
2020-09-21 07:58:15 +02:00
### Commands
Beware that you'll always need to add your prefix(default: ?) in front of the command.
Command | Description
------------ | -------------
summon | Join the channel the author of the message(now you can cast to the Bot from within Jellyfin)
disconnect | Disconnect from all current Voice Channels
play | Play the following item(can be the name of the song or the Stream URL)
2020-10-06 00:18:48 +02:00
add | Add the following item to the current playlist
2020-09-21 07:58:15 +02:00
pause/resume | Pause/Resume audio
2020-09-23 17:39:41 +02:00
seek | Where to Seek to in seconds or MM:SS
skip | Skip this Song
2020-09-30 17:38:43 +02:00
spawn | Spawns an Interactive Play Controller
2020-10-05 21:38:30 +02:00
help | Display the help message
2020-09-21 07:58:15 +02:00
### Limitations
2020-10-06 00:41:20 +02:00
- No Playlist Repeat Mode.
2020-09-25 13:54:28 +02:00
- Multi Server support.
2020-09-21 07:58:15 +02:00
- [Playing Video Content](https://support.discord.com/hc/en-us/community/posts/360059238512-Add-Go-Live-support-for-API) (if Discord ever adds this, I'll implement it into this Bot)
## Getting Started
2020-09-21 07:58:15 +02:00
You'll need a Discord Application for this Bot to work, as you will host it yourself.
[How to retrieve your token](https://discordjs.guide/preparations/setting-up-a-bot-application.html#creating-your-bot)
[How to invite the Bot to your server](https://discordjs.guide/preparations/adding-your-bot-to-servers.html#bot-invite-links)
[Generate an Api and bot here](https://discord.com/developers/applications/).
Click New Application.
![image](https://user-images.githubusercontent.com/20715731/97124506-bba00080-1706-11eb-820a-035039484ca2.png)
The Name of the application will be the bot's name.
![image](https://user-images.githubusercontent.com/20715731/97124528-d2deee00-1706-11eb-8a05-8b0542e1213a.png)
Go to the Bot tab.
![image](https://user-images.githubusercontent.com/20715731/97124557-ef7b2600-1706-11eb-8fed-2373df9a1eb7.png)
Generate the bot, and grab the token. Also, recommend making the bot private.
![image](https://user-images.githubusercontent.com/20715731/97124639-484abe80-1707-11eb-92f9-1182aad3d2d2.png)
Go to the OAuth2 page, click Bot Scope to get the url authorization link.
![image](https://user-images.githubusercontent.com/20715731/97124754-b68f8100-1707-11eb-9e16-f84401d108bf.png)
Authorize your room!
![image](https://user-images.githubusercontent.com/20715731/97124818-08380b80-1708-11eb-944a-f96395dcf6c1.png)
2020-10-05 21:38:30 +02:00
### The simplest way to get started is using Docker:
2020-10-05 23:46:32 +02:00
```bash
docker run -d \
--name jellyfin-discord-music-bot \
-e DISCORD_PREFIX="?" \
-e DISCORD_TOKEN="yourtokengoeshere" \
-e JELLYFIN_SERVER_ADDRESS="https://jellyfin.DOMAIN" \
-e JELLYFIN_USERNAME="" \
-e JELLYFIN_PASSWORD="" \
-e JELLYFIN_APP_NAME="Jellyfin Discord Music Bot" \
2020-09-30 17:27:09 +02:00
-e MESSAGE_UPDATE_INTERVAL="2000" \
2020-09-23 19:54:22 +02:00
--restart unless-stopped \
kgt1/jellyfin-discord-music-bot
```
2020-09-25 13:54:28 +02:00
2020-10-05 23:39:59 +02:00
MESSAGE_UPDATE_INTERVAL is the amount of time in ms the play message gets updated with the current time
2020-10-05 21:38:30 +02:00
### Alternatively you can run the Application natively with NodeJS:
2020-09-25 13:54:28 +02:00
Dependencies:
- npm 6.14.6
- NodeJS v12.18.3
- ffmpeg 4.2.4
2020-10-05 23:46:32 +02:00
```bash
2020-09-25 13:54:28 +02:00
git clone https://github.com/kgt1/jellyfin-discord-music-bot.git
cd jellyfin-discord-music-bot
npm install
```
edit config.json and add your token,server-address etc.
2020-10-05 23:46:32 +02:00
```bash
2020-09-25 13:54:28 +02:00
npm run start
```
## How to build
```
git clone https://github.com/kgt1/jellyfin-discord-music-bot.git
cd jellyfin-discord-music-bot
docker build -t YOUR_IMAGE_NAME .
```