JBOPS
Just a Bunch Of Plex Scripts
Install / Use
/learn @blacktwin/JBOPSREADME
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
<a href="https://www.paypal.me/Adam581/1" target=blank><img src=http://imgur.com/WSVZSTW.png alt="Buy Me a Coffee" height=50 width=100 align='center'> </a> or <a href="https://www.paypal.me/Adam581/3" target=blank><img src=http://imgur.com/gnvlm6n.jpg alt="Buy Me a Beer" height=50 width=100 align='center'></a>
<details> <summary>Coins?</summary> <details> <summary>BTC:</summary> 3FCb4F3bv1hHCJxq6HJMQiAMn883v3okdh </details> <details> <summary>BCH:</summary> qr758vkn7nv6hx0ur9m2tlv8q4qjrvg6pg3yw4kzwq </details> <details> <summary>ETH:</summary> 0xa76c8EB9A4955023F0dAABfb32FCD2b460910F2b </details> <details> <summary>LTC:</summary> MCw3r6rC8jNCcUvSMSu9EqQyyvEDp8EpEf </details> </details>Scripts List
Scripts pulled from my gist profile.
<details> <summary><a href="https://github.com/blacktwin/JBOPS/tree/master/maps">Maps</a></summary> <table> <tr> <th>Example</th> <th>File</th> <th>Description</th> </tr> <tr> <td><a href="https://github.com/blacktwin/JBOPS/raw/master/maps/EU_map_example.PNG"><img src="https://img.shields.io/badge/Image-EU_map-blue.svg" alt=""</a> <a href="https://github.com/blacktwin/JBOPS/raw/master/maps/NA_map_example.PNG"><img src="https://img.shields.io/badge/Image-NA_map-blue.svg" alt=""</a> <a href="https://github.com/blacktwin/JBOPS/raw/master/maps/World_map_example.PNG"><img src="https://img.shields.io/badge/Image-World_map-blue.svg" alt=""</a> <a href="https://github.com/blacktwin/JBOPS/blob/master/maps/geojson_example.geojson"><img src="https://img.shields.io/badge/Image-geojson-blue.svg" alt=""</a></td> <td><a href="../master/maps/ips_to_maps.py"ips_to_maps>Maps</a></td> <td>Using Tautulli data, draw a map connecting Server to Clients based on IP addresses.</td> </tr> </table> </details> <details> <summary><a href="https://github.com/blacktwin/JBOPS/tree/master/fun">Fun</a></summary> <table> <tr> <th>Gist</th> <th>File</th> <th>Description</th> </tr> <tr> <td></td> <td><a href="../master/fun/playlist_manager.py">playlist_manager</a></td> <td>Create and share playlists based on Most Popular TV/Movies from Tautulli and Aired this day in history.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/4ccb79c7d01a95176b8e88bf4890cd2b"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/fun/plexapi_haiku.py">plexapi_haiku</a></td> <td>Create a hiaku from titles found in Plex.</td> </tr> </table> </details> <details> <summary><a href="https://github.com/blacktwin/JBOPS/tree/master/killstream">Kill stream</a> </summary> <b> Killing streams is a Plex Pass feature. These scripts will only work for Plex Pass users. </b> <table> <tr> <th>Gist</th> <th>File</th> <th>Description</th> </tr> <tr> <td></td> <td><a href="../master/killstream/limiterr.py">limiterr</a></td> <td>Limiting Plex users by plays, watches, or total time from Tautulli.. See killsteam section <a href="../master/killstream/limiterr_readme.md">limiterr_readme.md</a></td> </tr> <tr> <td></td> <td><a href="../master/killstream/kill_stream.py">kill_stream</a></td> <td>Use Conditions, Arguements, and Parameters to kill a Plex stream. See killsteam section <a href="../master/killstream/readme.md">readme.md</a></td> </tr> </table> </details> <details> <summary><a href="https://github.com/blacktwin/JBOPS/tree/master/notify">Notify</a></summary> <table> <tr> <th>Gist</th> <th>File</th> <th>Description</th> </tr> <tr> <td></td> <td><a href="../master/notify/notify_delay.py">notify_delay</a></td> <td>Delay Notification Agent message for concurrent streams.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/e6d589a9af9bdf168717951083861e93"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/find_unwatched_notify.py">find_unwatched_notify</a></td> <td>Find what was added TFRAME ago and not watched and notify admin using Tautulli.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/1094dcf38249f36c8d374e0cba7a86cd"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_added_custom.py">notify_added_custom</a></td> <td>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.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/099c07d8099c18a378bba6415d9253ba"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_fav_tv_all_movie.py">notify_fav_tv_all_movie</a></td> <td>Notify users of recently added episode to show that they have watched at least LIMIT times via email. Also notify users of new movies.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/a2d4b2f2c3b616f1d6da0752fecb2ae7"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_newip.py">notify_newip</a></td> <td>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.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/a327055da54d7feb3eef10e64a8b661a"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_on_added.py">notify_on_added</a></td> <td>Send an Email notification when a specific show is added to Plex. Add shows to list that you want notifications for.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/18960ff01c03b67a05594daa6f53660c"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_user_favorites.py">notify_user_favorites</a></td> <td>Notify users of recently added episode to show that they have watched at least LIMIT times via email.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/066c66328a795ebd6079a575e14f0b8b"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/notify_user_newip.py">notify_user_newip</a></td> <td>Notify user that their account has been accessed by a new IP. IP is cleared to make sure notification is sent again.</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/261c416dbed08291e6d12f6987d9bafa"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/notify/twitter_notify.py">twitter_notify</a></td> <td>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.</td> </tr> </table> </details> <details> <summary><a href="https://github.com/blacktwin/JBOPS/tree/master/utility">Utility</a></summary> <table> <tr> <th>Gist</th> <th>File</th> <th>Description</th> </tr> <tr> <td></td> <td><a href="../master/utility/plex_api_parental_control.py">plex_api_parental_control</a></td> <td>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.</td> </tr> <tr> <td></td> <td><a href="../master/utility/plex_api_share.py">plex_api_share</a></td> <td>Share or unshare libraries</td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/f4149c296f2d1ffd1cbd863c37bb3a3c"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/utility/bypass_auth_name.py">bypass_auth_name</a></td> <td>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. </td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/0332f2dc9534bdf412ff3f664e9513c0"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/utility/delete_watched_TV.py">delete_watched_TV</a></td> <td>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. </td> </tr> <tr> <td><a href="https://gist.github.com/blacktwin/76b0abf88181618af4598092dd6b0dbb"><img src="https://img.shields.io/badge/gist-original-green.svg"></a></td> <td><a href="../master/utility/find_plex_meta.py">find_plex_meta</a></td> <td>Find location of Plex metadata. </td> </tr> <tr> <td><a hRelated Skills
node-connect
335.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
335.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.5kCommit, push, and open a PR
