Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e5e22b584a | |||
| 1f2c251e80 | |||
| a0b4a2087a | |||
| d62f6f6470 | |||
| 3b2328423b | |||
| 77f1b539e6 | |||
| c32875223c | |||
| 175d30abc9 | |||
| 642cf7341d | |||
| 1f97965599 | |||
| 2624f1ec06 | |||
| bfb16c503a | |||
| 9acbbe5644 | |||
| 2d2e649a5f | |||
| a6f110c9c8 | |||
| 2621fa45e5 | |||
| f1acaf529a | |||
| d970f37343 | |||
| 0ef8fe58d2 | |||
| 24190a3b4a | |||
| 4de1e6e7cb | |||
| 1cc8f7fbaa | |||
| 3727112892 | |||
| 6407c1e41f |
20
.env
20
.env
@@ -1,24 +1,40 @@
|
|||||||
# Discord
|
# Discord
|
||||||
DISCORD_TOKEN=your_discord_bot_token
|
DISCORD_TOKEN=your_discord_bot_token
|
||||||
PREFIX=!
|
PREFIX=!
|
||||||
GUILD_ID=123456789012345678
|
GUILD_ID=123456789012345678,123456789012345678
|
||||||
ADMIN_ROLE_IDS=111111111111111111,222222222222222222
|
ADMIN_ROLE_IDS=111111111111111111,222222222222222222
|
||||||
REQUIRED_ROLE_IDS=333333333333333333,444444444444444444
|
REQUIRED_ROLE_IDS=333333333333333333,444444444444444444
|
||||||
|
|
||||||
# Jellyfin
|
# Jellyfin
|
||||||
JELLYFIN_URL=http://127.0.0.1:8096
|
JELLYFIN_URL=http://127.0.0.1:8096
|
||||||
JELLYFIN_API_KEY=your_jellyfin_api_key
|
JELLYFIN_API_KEY=your_jellyfin_api_key
|
||||||
|
ENABLE_TRIAL_ACCOUNTS=false
|
||||||
|
|
||||||
# Jellyseerr
|
# Jellyseerr
|
||||||
JELLYSEERR_ENABLED=true
|
JELLYSEERR_ENABLED=false
|
||||||
JELLYSEERR_URL=http://localhost:5055
|
JELLYSEERR_URL=http://localhost:5055
|
||||||
JELLYSEERR_API_KEY=your_api_key_here
|
JELLYSEERR_API_KEY=your_api_key_here
|
||||||
|
|
||||||
|
# JFA-Go
|
||||||
|
ENABLE_JFA=false
|
||||||
|
JFA_URL=http://localhost:8056
|
||||||
|
JFA_API_KEY=your_api_key_here
|
||||||
|
|
||||||
|
# QBittorrent
|
||||||
|
ENABLE_QBITTORRENT=false
|
||||||
|
QBIT_HOST=http://localhost:8080
|
||||||
|
QBIT_USERNAME=your_username
|
||||||
|
QBIT_PASSWORD=your_password
|
||||||
|
|
||||||
# MySQL
|
# MySQL
|
||||||
DB_HOST=localhost
|
DB_HOST=localhost
|
||||||
DB_USER=root
|
DB_USER=root
|
||||||
DB_PASSWORD=password
|
DB_PASSWORD=password
|
||||||
DB_NAME=jellyfin_bot
|
DB_NAME=jellyfin_bot
|
||||||
|
|
||||||
|
# Time Settings
|
||||||
|
TIMEZONE=America/Chicago
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
SYNC_LOG_CHANNEL_ID=555555555555555555
|
SYNC_LOG_CHANNEL_ID=555555555555555555
|
||||||
|
EVENT_LOGGING=false
|
||||||
|
|||||||
40
CHANGELOG.md
Normal file
40
CHANGELOG.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# 1.0.6
|
||||||
|
|
||||||
|
- Added Progress bar to Active Streams
|
||||||
|
- Added JFA-Go support for external invites
|
||||||
|
- Added qBittorrent Support
|
||||||
|
- Reformated Help Command
|
||||||
|
|
||||||
|
# 1.0.5
|
||||||
|
|
||||||
|
- Added Timezone support in .env
|
||||||
|
- Added the `what2watch` command. Lists 5 random movie suggestions from the Jellyfin Library
|
||||||
|
- Added `activestreams` command. Lists all active Jellyfin Streams
|
||||||
|
|
||||||
|
# 1.0.4
|
||||||
|
|
||||||
|
- Multi-Guild support (As long as a user has a required role or admin role in one server, they are able to use the bot and Jellyfin)
|
||||||
|
- Fixed link command instructions not updating based on Jellyseerr availability
|
||||||
|
|
||||||
|
# 1.0.3
|
||||||
|
|
||||||
|
- Fixed: `ValueError: too many values to unpack (expected 2)`
|
||||||
|
- Cleanup will now delete Jellyseerr accounts as well
|
||||||
|
- Added Trial Jellyfin account support (enable in .env). Will not create a Jellyseerr account, lasts 24 hours, one time use.
|
||||||
|
|
||||||
|
# 1.0.2
|
||||||
|
|
||||||
|
- Fixed Jellyseerr support breaking linking, unlinking, and deletion
|
||||||
|
- Added the ability to link Jellyseerr accounts when linking Jellyfin
|
||||||
|
- Added event logging support for console (Can be toggled in .env or with commands)
|
||||||
|
- Reformatted the updates message
|
||||||
|
- Running a command without any values will now show you the proper command usage
|
||||||
|
|
||||||
|
# 1.0.1
|
||||||
|
|
||||||
|
- Added Jellyseerr Support
|
||||||
|
|
||||||
|
# 1.0.0
|
||||||
|
|
||||||
|
- Bot can now track update releases
|
||||||
|
- Restrict prefixes to non-alphanumeric symbols
|
||||||
47
README.md
47
README.md
@@ -1,4 +1,10 @@
|
|||||||
# Jellyfin-Discord
|
# Jellycord
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
[](https://discord.gg/EdPJAhrDq8)
|
||||||
|

|
||||||
|
|
||||||
Allow the creation and management of Jellyfin users via Discord
|
Allow the creation and management of Jellyfin users via Discord
|
||||||
|
|
||||||
Join my [Discord](https://discord.com/invite/zJMUNCPtPy) for help, and keeping an eye out for updates!
|
Join my [Discord](https://discord.com/invite/zJMUNCPtPy) for help, and keeping an eye out for updates!
|
||||||
@@ -7,7 +13,7 @@ This is a very simple and lightweight Jellyfin Discord bot for managing users. I
|
|||||||
|
|
||||||
Fill out values in the .env and you're good to go!
|
Fill out values in the .env and you're good to go!
|
||||||
|
|
||||||
# Features
|
## Features
|
||||||
|
|
||||||
- Automatic Account Cleanup
|
- Automatic Account Cleanup
|
||||||
- Creating Accounts
|
- Creating Accounts
|
||||||
@@ -18,40 +24,55 @@ Fill out values in the .env and you're good to go!
|
|||||||
- Change bot prefix live
|
- Change bot prefix live
|
||||||
- Checks for new releases
|
- Checks for new releases
|
||||||
|
|
||||||
# Command Overview
|
## Command Overview
|
||||||
|
|
||||||
**Pinging the bot will show you the necessary commands to create your account.**
|
**Pinging the bot will show you the necessary commands to create your account.**
|
||||||
|
|
||||||
**PLEASE NOTE BEFORE USING. THIS BOT IS MEANT TO USE REQUIRED ROLES IN ORDER TO WHITELIST USERS FOR JELLYFIN. TAKING A USERS ROLE AWAY WILL DELETE THEIR JELLYFIN ACCOUNT WHEN THE BOT RUNS ITS CLEANUP (24 Hour Schedule or Admin Forced)**
|
**PLEASE NOTE BEFORE USING. THIS BOT IS MEANT TO USE REQUIRED ROLES IN ORDER TO WHITELIST USERS FOR JELLYFIN. TAKING A USERS ROLE AWAY WILL DELETE THEIR JELLYFIN ACCOUNT WHEN THE BOT RUNS ITS CLEANUP (24 Hour Schedule or Admin Forced)**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**There are protections in place to stop users from creating an account where people can see. If a user sends the account creation or reset in a guild, the bot will delete it.**
|
**There are protections in place to stop users from creating an account where people can see. If a user sends the account creation or reset in a guild, the bot will delete it.**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**If a user already has a linked Jellyfin account, the bot will not allow them to create another account.**
|
**If a user already has a linked Jellyfin account, the bot will not allow them to create another account.**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**In order to create an account, you must have the required roles specified in the .env**
|
**In order to create an account, you must have the required roles specified in the .env**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
***User Commands***
|
***🎬 User Commands***
|
||||||
- `!createaccount` <username> <password> - Create your Jellyfin account
|
- `!createaccount` <username> <password> - Create your Jellyfin account
|
||||||
- `!recoveraccount` <username> <newpassword> - Reset your password
|
- `!recoveraccount` <username> <newpassword> - Reset your password
|
||||||
- `!deleteaccount` <username> - Delete your Jellyfin account
|
- `!deleteaccount` <username> - Delete your Jellyfin account
|
||||||
|
- `!trialaccount` <username> <password> - Create a 24-hour trial Jellyfin account. Only if ENABLE_TRIAL_ACCOUNTS=True
|
||||||
|
- `!what2watch` - Lists 5 random movie suggestions from the Jellyfin Library
|
||||||
|
- `!help` - Displays help command
|
||||||
|
|
||||||
***Admin Commands***
|
***🛠️ Admin Commands***
|
||||||
|
- `!link` <jellyfin_username> @user - Manually link accounts
|
||||||
|
- `!unlink` @user - Manually unlink accounts
|
||||||
|
- `!listvalidusers` - Show number of valid and invalid accounts
|
||||||
- `!cleanup` - Remove Jellyfin accounts from users without roles
|
- `!cleanup` - Remove Jellyfin accounts from users without roles
|
||||||
- `!lastcleanup` - See Last cleanup time, and time remaining before next cleanup
|
- `!lastcleanup` - See Last cleanup time, and time remaining before next cleanup
|
||||||
- `!searchaccount` <jellyfin_username> - Find linked Discord user
|
- `!searchaccount` <jellyfin_username> - Find linked Discord user
|
||||||
- `!searchdiscord` @user - Find linked Jellyfin account
|
- `!searchdiscord` @user - Find linked Jellyfin account
|
||||||
- `!scanlibraries` - Scan all Jellyfin libraries
|
- `!scanlibraries` - Scan all Jellyfin libraries
|
||||||
- `!link` <jellyfin_username> @user - Manually link accounts
|
- `!activestreams` - View all Active Jellyfin streams
|
||||||
- `!unlink` @user - Manually unlink accounts
|
|
||||||
|
|
||||||
***Admin Bot Commands***
|
***💾 qBittorrent Commands***
|
||||||
|
- `!qbview` - View current qBittorrent downloads
|
||||||
|
|
||||||
|
***🔑 JFA Commands***
|
||||||
|
|
||||||
|
- `!createinvite` - Create a new JFA invite link
|
||||||
|
- `!listinvites` - List all active JFA invite links
|
||||||
|
- `!deleteinvite <code>` - Delete a specific JFA Invite
|
||||||
|
|
||||||
|
***⚙️ Admin Bot Commands***
|
||||||
- `!setprefix` - Change the bots command prefix
|
- `!setprefix` - Change the bots command prefix
|
||||||
- `!updates` - Manually check for bot updates
|
- `!updates` - Manually check for bot updates
|
||||||
|
- `!logging` - Enable/Disable Console Event Logging
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
discord.py==2.3.2
|
discord.py==2.3.2
|
||||||
requests==2.32.3
|
requests==2.32.3
|
||||||
mysql-connector-python==9.0.0
|
mysql-connector-python==9.0.0
|
||||||
python-dotenv==1.0.1
|
python-dotenv==1.0.1
|
||||||
|
pytz==2025.2
|
||||||
|
apscheduler==3.11.0
|
||||||
|
qbittorrent-api==2025.7.0
|
||||||
1
version.json
Normal file
1
version.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{ "version": "1.0.6" }
|
||||||
@@ -1 +1 @@
|
|||||||
1.0.1
|
1.0.6
|
||||||
Reference in New Issue
Block a user