Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f11e1997fd | |||
| 54099b85c1 | |||
| e4757805ae | |||
| 97dc1dcb98 | |||
| 61dc5db6d0 | |||
|
|
fdc6df373d | ||
| 42b10a813f | |||
| bae9a5b967 | |||
| b1d050cb3c | |||
| ce076824a2 | |||
| 8fe3d2e5d1 | |||
| e0bbbd02f5 | |||
| d80746cd61 | |||
| f6197c144a | |||
| 2481ba778b | |||
| c5d619d450 | |||
| 547ccbbb0a | |||
| f862f46e16 | |||
| c4a1ccf770 | |||
| a050becc14 | |||
| e5e22b584a | |||
| 1f2c251e80 | |||
| a0b4a2087a | |||
| d62f6f6470 |
29
.env
29
.env
@@ -1,29 +0,0 @@
|
||||
# Discord
|
||||
DISCORD_TOKEN=your_discord_bot_token
|
||||
PREFIX=!
|
||||
GUILD_ID=123456789012345678,123456789012345678
|
||||
ADMIN_ROLE_IDS=111111111111111111,222222222222222222
|
||||
REQUIRED_ROLE_IDS=333333333333333333,444444444444444444
|
||||
|
||||
# Jellyfin
|
||||
JELLYFIN_URL=http://127.0.0.1:8096
|
||||
JELLYFIN_API_KEY=your_jellyfin_api_key
|
||||
ENABLE_TRIAL_ACCOUNTS=false
|
||||
|
||||
# Jellyseerr
|
||||
JELLYSEERR_ENABLED=false
|
||||
JELLYSEERR_URL=http://localhost:5055
|
||||
JELLYSEERR_API_KEY=your_api_key_here
|
||||
|
||||
# MySQL
|
||||
DB_HOST=localhost
|
||||
DB_USER=root
|
||||
DB_PASSWORD=password
|
||||
DB_NAME=jellyfin_bot
|
||||
|
||||
# Time Settings
|
||||
TIMEZONE=America/Chicago
|
||||
|
||||
# Logs
|
||||
SYNC_LOG_CHANNEL_ID=555555555555555555
|
||||
EVENT_LOGGING=false
|
||||
68
.env.example
Normal file
68
.env.example
Normal file
@@ -0,0 +1,68 @@
|
||||
# Jellycord version 1.1.0
|
||||
|
||||
# |Discord|
|
||||
DISCORD_TOKEN=your_discord_bot_token
|
||||
PREFIX=!
|
||||
GUILD_IDS=123456789012345678,123456789012345678
|
||||
ADMIN_ROLE_IDS=111111111111111111,222222222222222222
|
||||
REQUIRED_ROLE_IDS=333333333333333333,444444444444444444
|
||||
|
||||
# |Jellyfin|
|
||||
JELLYFIN_URL=http://127.0.0.1:8096
|
||||
JELLYFIN_API_KEY=your_jellyfin_api_key
|
||||
ENABLE_TRIAL_ACCOUNTS=false
|
||||
TRIAL_TIME=24 # In hours
|
||||
|
||||
# |Jellyseerr|
|
||||
JELLYSEERR_ENABLED=false
|
||||
JELLYSEERR_URL=http://localhost:5055
|
||||
JELLYSEERR_API_KEY=your_api_key_here
|
||||
|
||||
# |JFA-Go|
|
||||
ENABLE_JFA=false
|
||||
JFA_URL=http://localhost:8056
|
||||
JFA_USERNAME=yourusername
|
||||
JFA_PASSWORD=yourpassword
|
||||
JFA_API_KEY=your_api_key_here
|
||||
JFA_TOKEN=
|
||||
|
||||
# |Servarr|
|
||||
RADARR_URL=http://your-radarr-ip:7878
|
||||
RADARR_API_KEY=yourradarrapikey
|
||||
ENABLE_RADARR=false
|
||||
|
||||
SONARR_URL=http://your-sonarr-ip:8989
|
||||
SONARR_API_KEY=yoursonarrapikey
|
||||
ENABLE_SONARR=false
|
||||
|
||||
# |QBittorrent|
|
||||
ENABLE_QBITTORRENT=false
|
||||
QBIT_HOST=http://localhost:8080
|
||||
QBIT_USERNAME=your_username
|
||||
QBIT_PASSWORD=your_password
|
||||
|
||||
# |Proxmox|
|
||||
ENABLE_PROXMOX=false
|
||||
PROXMOX_HOST=https://your-proxmox-server:8006
|
||||
PROXMOX_TOKEN_NAME=root@pam!yourtokenname
|
||||
PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
PROXMOX_VERIFY_SSL=false
|
||||
PROXMOX_NODE=pve1
|
||||
PROXMOX_VM_ID=
|
||||
# Proxmox type can be "qemu" for VM, "lxc" for container
|
||||
PROXMOX_TYPE=
|
||||
|
||||
# |MySQL|
|
||||
DB_HOST=localhost
|
||||
DB_USER=root
|
||||
DB_PASSWORD=password
|
||||
DB_NAME=jellyfin_bot
|
||||
|
||||
# |General Settings|
|
||||
TIMEZONE=America/Chicago
|
||||
# Tracking only reports limited information about your instance for development reasons. (Tracking enabled Instance & Enabled Features)
|
||||
TRACKING_ENABLED=true
|
||||
|
||||
# |Logs|
|
||||
SYNC_LOG_CHANNEL_ID=555555555555555555
|
||||
EVENT_LOGGING=false
|
||||
34
CHANGELOG.md
34
CHANGELOG.md
@@ -1,3 +1,37 @@
|
||||
# 1.1.0
|
||||
|
||||
- The bot now sends limited info stats to a public frontend for development insight. (Reports enabled features and bot instance only | Jellyseerr, Proxmox, JFA, qBittorrent)
|
||||
- Radarr & Sonarr Support
|
||||
|
||||
# 1.0.9
|
||||
|
||||
- You can now configure trial account duration
|
||||
- Reformatted link command
|
||||
- Added Updating via command
|
||||
- Added Backup command
|
||||
- Added restore command
|
||||
|
||||
# 1.0.8
|
||||
|
||||
- Fixed update message
|
||||
- Added changelog command
|
||||
- Fixed schedule loop for Jfa being enabled when JFA support is disabled
|
||||
- Added metrics tracking for a Jellyfin container/vm in proxmox
|
||||
|
||||
# 1.0.7
|
||||
|
||||
- Fixed JFA-GO API keys expiring. The bot now schedules a key refresh
|
||||
- Added Proxmox support for checking storage pool size
|
||||
- !what2watch is now !movies2watch
|
||||
- Added !shows2watch, now pulls 5 random shows
|
||||
|
||||
# 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
|
||||
|
||||
70
README.md
70
README.md
@@ -1,6 +1,13 @@
|
||||
# Jellycord
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

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

|
||||
@@ -13,7 +20,24 @@ 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!
|
||||
|
||||
## Features
|
||||
# 🛑 Disclaimer (Please Read) 🛑
|
||||
|
||||
This bot collects limited amounts of information, it is enabled by default and can be disabled in your environment file. Information Collected is limited to:
|
||||
|
||||
- Bot Instances
|
||||
- Enabled Features
|
||||
|
||||
We do **not** and will **never** collect nor store:
|
||||
|
||||
- IP Address's.
|
||||
- System Information.
|
||||
- Information about Jellyfin or any related services.
|
||||
|
||||
## Why do we do this?
|
||||
|
||||
Adding these simply allows me to see what features users are interested in, allowing me to focus on improving/fixing highly used features.
|
||||
|
||||
# Features
|
||||
|
||||
- Automatic Account Cleanup
|
||||
- Creating Accounts
|
||||
@@ -24,7 +48,7 @@ Fill out values in the .env and you're good to go!
|
||||
- Change bot prefix live
|
||||
- Checks for new releases
|
||||
|
||||
## Command Overview
|
||||
# Command Overview
|
||||
|
||||
**Pinging the bot will show you the necessary commands to create your account.**
|
||||
|
||||
@@ -44,24 +68,52 @@ Fill out values in the .env and you're good to go!
|
||||
|
||||

|
||||
|
||||
***User Commands***
|
||||
***🎬 User Commands***
|
||||
|
||||
- `!createaccount` <username> <password> - Create your Jellyfin account
|
||||
- `!recoveraccount` <username> <newpassword> - Reset your password
|
||||
- `!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
|
||||
- `!movies2watch` - Lists 5 random movie suggestions from the Jellyfin Library
|
||||
- `!shows2watch` - Lists 5 random show suggestions from the Jellyfin Library
|
||||
- `!help` - Displays help command
|
||||
|
||||
***Admin Commands***
|
||||
***🛠️ Admin Commands***
|
||||
|
||||
- `!link` @user <jellyfin_username> - Manually link accounts
|
||||
- `!unlink` @user - Manually unlink accounts
|
||||
- `!validusers` - Show number of valid and invalid accounts
|
||||
- `!cleanup` - Remove Jellyfin accounts from users without roles
|
||||
- `!lastcleanup` - See Last cleanup time, and time remaining before next cleanup
|
||||
- `!searchaccount` <jellyfin_username> - Find linked Discord user
|
||||
- `!searchdiscord` @user - Find linked Jellyfin account
|
||||
- `!scanlibraries` - Scan all Jellyfin libraries
|
||||
- `!activestreams` - View all Active Jellyfin streams
|
||||
- `!link` <jellyfin_username> @user - Manually link accounts
|
||||
- `!unlink` @user - Manually unlink accounts
|
||||
|
||||
***Admin Bot Commands***
|
||||
***💾 qBittorrent Commands***
|
||||
|
||||
- `!qbview` - View current qBittorrent downloads
|
||||
|
||||
***🗳️ Proxmox Commands***
|
||||
|
||||
- `!storage` - Show available storage pools and free space
|
||||
- `!metrics` - Show Jellyfin container metrics
|
||||
|
||||
***🔑 JFA Commands***
|
||||
|
||||
- `!createinvite` - Create a new JFA invite link
|
||||
- `!listinvites` - List all active JFA invite links
|
||||
- `!deleteinvite <code>` - Delete a specific JFA Invite
|
||||
- `!refreshjfakey` - Refreshes the JFA API Key Forcefully
|
||||
|
||||
***⚙️ Admin Bot Commands***
|
||||
|
||||
- `!setprefix` - Change the bots command prefix
|
||||
- `!updates` - Manually check for bot updates
|
||||
- `!stats` - View Local and Global Jellycord Stats
|
||||
- `!update` - Download latest bot version
|
||||
- `!backup` - Create a backup of the bot and configurations
|
||||
- `!backups` - List backups of the bot
|
||||
- `!restore` - Restore a backup of the bot
|
||||
- `!version` - Manually check for bot updates
|
||||
- `!changelog` - View changelog for current bot version
|
||||
- `!logging` - Enable/Disable Console Event Logging
|
||||
8
ROADMAP.md
Normal file
8
ROADMAP.md
Normal file
@@ -0,0 +1,8 @@
|
||||
- **Future Features**
|
||||
|
||||
- Servarr Support
|
||||
- Make Jellyfin admins exempt from account cleanup
|
||||
|
||||
- **To Do**
|
||||
|
||||
- Music/Podcast Support (Listening in VC from Jellyfin Library)
|
||||
@@ -4,3 +4,7 @@ mysql-connector-python==9.0.0
|
||||
python-dotenv==1.0.1
|
||||
pytz==2025.2
|
||||
apscheduler==3.11.0
|
||||
qbittorrent-api==2025.7.0
|
||||
proxmoxer==2.2.0
|
||||
pymysql==1.1.2
|
||||
psutil==7.1.3
|
||||
@@ -1 +1 @@
|
||||
{ "version": "1.0.5" }
|
||||
{ "version": "1.0.9" }
|
||||
@@ -1 +1 @@
|
||||
1.0.5
|
||||
1.0.9
|
||||
Reference in New Issue
Block a user