This python script will set all movies and shows in your local Plex library to English non forced subtitles by default. The subtitle selections will apply to your Plex profile and be remembered on other devices. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
fun | ||
killstream | ||
maps | ||
notify | ||
reporting | ||
utility | ||
config.ini | ||
README.md | ||
requirements.txt | ||
scriptHeaderTemplate.txt | ||
setup.cfg |
JBOPS - Just a Bunch Of Plex Scripts
Most of these scripts utilize a combination of Tautulli, python-plexapi, and requests.
For use of config.ini for common variables please use plexapi.CONFIG
Default location ~/.config/plexapi/config.ini
# To find path
import plexapi
print(plexapi.CONFIG_PATH)
Contact
Donation
Coins?
BTC:
3FCb4F3bv1hHCJxq6HJMQiAMn883v3okdhBCH:
qr758vkn7nv6hx0ur9m2tlv8q4qjrvg6pg3yw4kzwqETH:
0xa76c8EB9A4955023F0dAABfb32FCD2b460910F2bLTC:
MCw3r6rC8jNCcUvSMSu9EqQyyvEDp8EpEfScripts List
Scripts pulled from my gist profile.
Maps
Example | File | Description |
---|---|---|
Maps | Using Tautulli data, draw a map connecting Server to Clients based on IP addresses. |
Fun
Gist | File | Description |
---|---|---|
playlist_manager | Create and share playlists based on Most Popular TV/Movies from Tautulli and Aired this day in history. | |
plexapi_haiku | Create a hiaku from titles found in Plex. |
Kill stream
Killing streams is a Plex Pass feature. These scripts will only work for Plex Pass users.Gist | File | Description |
---|---|---|
limiterr | Limiting Plex users by plays, watches, or total time from Tautulli.. See killsteam section limiterr_readme.md | |
kill_stream | Use Conditions, Arguements, and Parameters to kill a Plex stream. See killsteam section readme.md |
Notify
Gist | File | Description |
---|---|---|
notify_delay | Delay Notification Agent message for concurrent streams. | |
find_unwatched_notify | Find what was added TFRAME ago and not watched and notify admin using Tautulli. | |
notify_added_custom | Send an email with what was added to Plex in the past week using Tautulli. Email includes title (TV: Show Name: Episode Name; Movie: Movie Title), time added, image, and summary. | |
notify_fav_tv_all_movie | Notify users of recently added episode to show that they have watched at least LIMIT times via email. Also notify users of new movies. | |
notify_newip | If a new IP is found send notification via the Email Notification Agent. Email contains User's Avatar image, link to location, IP address, and User's Email address. | |
notify_on_added | Send an Email notification when a specific show is added to Plex. Add shows to list that you want notifications for. | |
notify_user_favorites | Notify users of recently added episode to show that they have watched at least LIMIT times via email. | |
notify_user_newip | Notify user that their account has been accessed by a new IP. IP is cleared to make sure notification is sent again. | |
twitter_notify | Post to Twitter when TV/Movie is added to Plex. Include custom message and embed poster image. Option to tweet to TWITTER_USER if title is inside TITLE_FIND. |
Utility
Gist | File | Description |
---|---|---|
plex_api_parental_control | Set as cron or task for times of allowing and not allowing user access to server. Unsharing will kill any current stream from user before unsharing. | |
plex_api_share | Share or unshare libraries | |
bypass_auth_name | Use Tautulli to pull last IP address from user and add to List of IP addresses and networks that are allowed without auth in Plex. | |
delete_watched_TV | From a list of TV shows, check if users in a list has watched shows episodes. If all users in list have watched an episode of listed show, then delete episode. | |
find_plex_meta | Find location of Plex metadata. | |
find_unwatched | Find what was added TFRAME ago and not watched using Tautulli. | |
grab_gdrive_media | Grab media (videos, pictures) from Google Drive. All videos and pictures were automatically synced from Google Photos to Google Drive. Puts media into MEDIA_TYPE/YEAR/MONTH-DAY/FILE.ext directory structure. | |
plex_api_poster_pull | Pull Movie and TV Show poster images from Plex. | |
plex_imgur_dl | Pull poster images from Imgur and places them inside Shows root folder. | |
plex_theme_songs | Download theme songs from Plex TV Shows. | |
plexapi_delete_playlists | Delete all playlists from Plex using PlexAPI. | |
refresh_next_episode | Refresh the next episode of show once current episode is watched. | |
remove_watched_movies | Find Movies that have been watched by a list of users. If all users have watched movie then delete. | |
stream_limiter_ban_email | This is indented to restrict a user to the LIMIT amount of concurrent streams. User will be warned, punished, and banned completely if violations continue. |
Reporting
Gist | File | Description |
---|---|---|
weekly_stats_reporting | Pull library and user statistics of last week. | |
added_to_plex | Find when media was added between STARTFRAME and ENDFRAME to Plex through Tautulli. | |
check_play | Check if user has play a file more than 3 times but has not finished watching. Hoping to catch play failures. | |
check_plex_log | Checking plex logs for debug code WARN and 'Failed to obtain a streaming resource for transcode of key /library/metadata/"titleID"'. | |
drive_check | Check if drive exists. If not then notify via Tautulli notifier agent. | |
userplays_weekly_reporting | Use Tautulli to count how many plays per user occurred this week and send email via Tautulli. |
Setting Up Tautulli for Custom Scripts
Enable API in Tautulli:
Tautulli > Settings > Web Interface > API > Enable API
Enabling Scripts in Tautulli:
Tautulli > Settings > Notification Agents > Add a Notification Agent > Script
Configuration
Tautulli > Settings > Notification Agents > New Script > Configuration:
- Set scripts location to location of your script
- Scroll down to option you want to use and select the script from the drop down menu
- Set desired Script Timeout value
- Optional - Add a description of the script for easy reference
- Save
Triggers
Tautulli > Settings > Notification Agents > New Script > Triggers:
- Check desired trigger
- Save
Conditions
Tautulli > Settings > Notification Agents > New Script > Conditions:
- Set desired conditions
- Save
For more information on Tautulli conditions see here
Script Arguments
Tautulli > Settings > Notification Agents > New Script > Script Arguments:
- Select desired trigger
- Input desired notification parameters (List of parameters will likely be found inside script)
- Save
- Close
Common variables
Plex
- PLEX_URL - Local/Remote IP to connect to Plex ('http://localhost:32400', 'https://x.x.x.x:32412', etc.)
- PLEX_TOKEN - Plex or Tautulli Settings > Plex.tv Account > PMS Token
Tautulli
- TAUTULLI_URL - Local/Remote IP to connect to Tautulli ('http://localhost:8181', 'https://x.x.x.x:8182', etc.)
- TAUTULLI_APIKEY - Tautulli Settings > Access Control > Enable API - API Key