{"id":13522429,"url":"https://github.com/tronyx/sonarr-episode-name-checker","last_synced_at":"2025-03-31T22:31:29.153Z","repository":{"id":113272863,"uuid":"340769840","full_name":"tronyx/sonarr-episode-name-checker","owner":"tronyx","description":"Bash and Powershell scripts to check for episodes named \"Episode ##\" or \"TBA\"","archived":false,"fork":false,"pushed_at":"2023-11-02T13:35:24.000Z","size":104,"stargazers_count":34,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-02T06:13:50.909Z","etag":null,"topics":["bash","plex","powershell","sonarr"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tronyx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"tronyx","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-02-20T22:47:08.000Z","updated_at":"2024-06-11T05:42:50.000Z","dependencies_parsed_at":"2023-11-02T14:35:52.117Z","dependency_job_id":null,"html_url":"https://github.com/tronyx/sonarr-episode-name-checker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronyx%2Fsonarr-episode-name-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronyx%2Fsonarr-episode-name-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronyx%2Fsonarr-episode-name-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronyx%2Fsonarr-episode-name-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tronyx","download_url":"https://codeload.github.com/tronyx/sonarr-episode-name-checker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222683219,"owners_count":17022462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","plex","powershell","sonarr"],"created_at":"2024-08-01T06:00:47.113Z","updated_at":"2024-11-02T06:31:21.534Z","avatar_url":"https://github.com/tronyx.png","language":"PowerShell","funding_links":["https://github.com/sponsors/tronyx"],"categories":["PowerShell","Complimenting Apps"],"sub_categories":[],"readme":"# Sonarr Episode Name Checker\n\n[![CodeFactor](https://www.codefactor.io/repository/github/tronyx/sonarr-episode-name-checker/badge)](https://www.codefactor.io/repository/github/tronyx/sonarr-episode-name-checker) [![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/tronyx/sonarr-episode-name-checker/blob/master/LICENSE.md) ![Shell Script](https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge\u0026logo=gnu-bash\u0026logoColor=white) ![PowerShell](https://img.shields.io/badge/PowerShell-%235391FE.svg?style=for-the-badge\u0026logo=powershell\u0026logoColor=white)\n\nScript to check for TV Show and Anime episodes that may be named with \"Episode ##\" or \"TBA\" that should not be, IE: episode name data was missing or incorrect within Sonarr when the episode was imported. Output can be displayed right in the CLI once the script completes:\n\n![Shell Output](/images/shell.png)\n\n![Shell Output - None](/images/shell_none.png)\n\n And/or a Discord notification can be sent to a custom webhook:\n\n![Discord Webhook](/images/discord.png)\n\n## Setting it up\n\n### Bash\n\n1. Clone or download the repo.\n2. Properly set your media storage path in the script.\n3. Modify the two exclude list text files to meet your needs.\n    * If you do not have anything to exclude make sure you blank out the file because they are both required to be there.\n4. Determine and set your corresponding column value.\n    * Mine is like this: `/mnt/data/media/Videos/TV Shows/Show Name/Season 1/Episode Name`\n    * It ends up as column `7` with `/` as the delimiter because `/mnt` is actually the SECOND one and not the first.\n    * For a more visual representation: `(1)/(2)mnt/(3)data/(4)media/(5)Videos/(6)TV Shows/(7)Show Name/`\n5. Set any other variables you would like to set.\n    * If `notify` is set to `true`, but you did not set the `webhook` variable the script will prompt you to enter it the first time you run it.\n\n\u003e **Warning**\n\u003e Depending on your directory structure this might not work for you. It is possible that you might need to put a path, run the script, adjust the path, run the script, etc. to get all your results.\n\u003e It can take some trial and error for you to get all of the shows you need/want to exclude as you will want to run the script and then check the shows that are listed for whether or not their episodes are actually named `Episode ##` or not.\n\n### Powershell\n\n\u003e **Note**\n\u003e This Powershell script directly interacts with Sonarr's API. It does not support a Discord webhook like the bash script does. Instead we recommend you setup a webhook under `Settings \u003e Connect` and select `Rename` to get Discord notifications when this script runs.\n\n1. Clone or download the repo.\n2. Fill in the appropriate variables in `Powershell\\SonarrEpisodeNameChecker.ps1`\n3. Modify the two exclude list text files to meet your needs.\n    * :warning: If you do not have anything to exclude make sure you blank out the files because they are both required to be there.\n4. Variables\n   1. :warning: **Required** `$sonarrApiKey`: Your Sonarr API Key.\n   2. :warning: **Required** `$sonarrUrl`: Your Sonarr URL.\n   3. :ballot_box_with_check: **Not required** `$sonarrSeriesStatus`: Accepts any values listed [here](https://github.com/Sonarr/Sonarr/blob/0a2b109a3fe101e260b623d0768240ef8b7a47ae/frontend/src/Components/Filter/Builder/SeriesStatusFilterBuilderRowValue.js#L5-L7).\n\n\u003e **Note**\n\u003e It is highly recommended that you do a dry run to see which series might need to be added to your exclusion list!\n\n:whale: Docker image (hopefully) coming soon!\n\n## Scheduling\n\nNow that you have it configured so that everything is working properly, you can use a cronjob to schedule the script to run automatically.\n\nHere's an example of running the script every day at 4am:\n\n### Bash Scheduling\n\n```bash\n# Run the Sonarr Episode Name Checker script\n0 4 * * * /home/tronyx/scripts/SonarrEpisodeNameChecker.sh\n```\n\n### Powershell Scheduling\n\n```powershell\n# Run the Sonarr Episode Name Checker script\n0 4 * * * /home/tronyx/scripts/Powershell/SonarrEpisodeNameChecker.ps1 -renameSeries $true\n```\n\n## Questions\n\nIf you have any questions, you can find me on the [Organizr Discord](https://organizr.app/discord).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronyx%2Fsonarr-episode-name-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftronyx%2Fsonarr-episode-name-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronyx%2Fsonarr-episode-name-checker/lists"}