Go to file
2017-07-13 11:03:34 -04:00
archive Rename notify_geomail.py to archive/notify_geomail.py 2017-06-29 21:24:30 -04:00
fun Rename aired_today_playlist.py to fun/aired_today_playlist.py 2017-07-12 14:49:19 -04:00
killstream Rename create_wait_kill_all.py to killstream/create_wait_kill_all.py 2017-07-12 14:32:59 -04:00
maps Add files via upload 2017-07-13 10:28:51 -04:00
notify Rename find_unwatched_notify.py to notify/find_unwatched_notify.py 2017-07-12 14:38:35 -04:00
reporting Rename drive_check.py to reporting/drive_check.py 2017-07-12 14:44:20 -04:00
utility Rename stream_limiter_ban_email.py to utility/stream_limiter_ban_email.py 2017-07-12 14:50:11 -04:00
README.md Update README.md 2017-07-13 11:03:34 -04:00

JBOPS - Just a Bunch Of Plex Scripts

Donate

Scripts pulled from my gist profile. https://gist.github.com/blacktwin

PlexPy Script Arguments:

-sn {show_name} -ena {episode_name} -ssn {season_num00} -enu {episode_num00} -srv {server_name} -med {media_type} -pos {poster_url} -tt {title} -sum {summary} -lbn {library_name} -grk {grandparent_rating_key} -ip {ip_address} -us {user} -uid {user_id} -pf {platform} -pl {player} -da {datestamp} -ti {timestamp} -purl {plex_url}

Enabling Scripts:

In the Notification Agents in the Settings menu. Click the Scripts gear. Your scripts location will be there. Can't remember if it's set automatically or not. If not, then set it where you'll keep your scripts. Scroll down to option you want to use and select the script from the drop down menu. Save. Click the Bell next to Scripts and enable Recently Added. Then click Notifications. Scroll down to Scripts. Enter in the Script Arguments found in the .py script. Save.

Scripts List

Category File Description
Maps
ips_to_maps Use PlexPy draw a map connecting Server to Clients based on IP addresses.)
Fun
aired_today_playlist Create a Plex Playlist with what was aired on this today's month-day, sort by oldest first. If Playlist from yesterday exists delete and create today's. If today's Playlist exists exit.
plexapi_haiku Create a hiaku from titles found in Plex.
Kill stream
create_wait_kill_all Receive session_key from PlexPy when paused. Use session_id to create sub-script to wait for X time then check if still paused. If paused kill.
create_wait_kill_trans Receive session_key from PlexPy when paused. Use session_id to create sub-script to wait for X time then check if transcoding still paused. If so, kill.
kill_all_more_than If user has 2 or more concurrent streams kill all streams
kill_else_if_buffering Kill concurrent transcode streams of other users if Admin user is experiencing buffering warnings from PlexPy.
kill_more_than If user has 2 or more concurrent streams and the IP of the 2nd stream differs from 1st kill 2nd. If 2nd stream IP is the same as 1st stream don't kill.
kill_outsider_stream Kill stream if user is outside of local network.
kill_plex_stream Kill any Plex stream for whatever reason you want.
kill_session_bitrate Kill stream if bitrate is greater than 4 Mbps
kill_trans_exp_audio Kill Plex video transcoding streams only. All audio streams are left alone. Kill message based on platform.
new_kill_trans_pause Kill Plex paused video transcoding streams using PlexPy.
Notify
find_unwatched_notify Find what was added TFRAME ago and not watched and notify admin using PlexPy.
notify_added_custom Send an email with what was added to Plex in the past week using PlexPy. 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
bypass_auth_name Use PlexPy 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 PlexPy.
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.
plexapi_search_file Find full path for Plex items.
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
added_to_plex Find when media was added between STARTFRAME and ENDFRAME to Plex through PlexPy.
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 PlexPy notifier agent.
userplays_weekly_reporting Use PlexPy to count how many plays per user occurred this week and send email via PlexPy.