You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sonarr-anime-importer/README.md

87 lines
3.3 KiB

# sonarr-anime-importer
Easily create import lists in sonarr with MyAnimeList or AniList queries!
This is basically a wrapper for [Jikan](https://jikan.moe) and the AniList API that maps IDs to a list with TVDB IDs so that Sonarr can import the results.
**Until v1.0.0, breaking changes can happen at any time. Multiple have happened already! Be wary updating.**
**The "limit" parameter is required for all requests!**
Pulls MyAnimeList, AniList, and TVDB ID associations from https://raw.githubusercontent.com/Kometa-Team/Anime-IDs/master/anime_ids.json.
## Supported Requests
### GET /v1/mal/anime
Searches anime from MyAnimeList
See https://docs.api.jikan.moe/#tag/anime/operation/getAnimeSearch for parameters.
Additional parameters supported:
- `allow_duplicates`: skips de-duplication of results
- `merge_seasons`: skips seasons of already included shows
Example request:
```bash
# fetches the top 10 most popular currently airing tv anime
curl "http://localhost:3333/v1/mal/anime?type=tv&status=airing&order_by=popularity&sort=asc&limit=10"
```
### GET /v1/anilist/anime
Searches anime from AniList
Parameters:
- isAdult: Boolean
- search: String
- format: [[MediaFormat]](https://studio.apollographql.com/sandbox/schema/reference/enums/MediaFormat)
- status: [MediaStatus](https://studio.apollographql.com/sandbox/schema/reference/enums/MediaStatus)
- countryOfOrigin: [CountryCode](https://studio.apollographql.com/sandbox/schema/reference/scalars/CountryCode)
- season: [MediaSeason](https://studio.apollographql.com/sandbox/schema/reference/enums/MediaSeason)
- seasonYear: Int
- year: String
- onList: Boolean
- yearLesser: [FuzzyDateInt](https://studio.apollographql.com/sandbox/schema/reference/scalars/FuzzyDateInt)
- yearGreater: [FuzzyDateInt](https://studio.apollographql.com/sandbox/schema/reference/scalars/FuzzyDateInt)
- averageScoreGreater: Int
- averageScoreLesser: Int
- genres: [String]
- excludedGenres: [String]
- tags: [String]
- excludedTags: [String]
- minimumTagRank: Int
- sort: [[MediaSort]](https://studio.apollographql.com/sandbox/schema/reference/enums/MediaSort)
- limit: Int
- allowDuplicates: Boolean
- mergeSeasons: Boolean
Example request:
```bash
# fetch the top 20, non-adult trending anime that are either TV or ONA and are made in Japan after 2020
curl "http://localhost:3333/v1/anilist/anime?format=TV,ONA&sort=TRENDING_DESC&isAdult=false&countryOfOrigin=JP&yearGreater=20200000&limit=20"
```
## Environment
One configuration environment variable is supported:
- `ALWAYS_SKIP_TVDB_IDS`: Comma-separated list of TVDB IDs to always skip. These do not count towards the return limit.
## Docker Compose
```yaml
services:
sonarr-anime-importer:
image: gabehf/sonarr-anime-importer:latest
container_name: sonarr-anime-importer
ports:
- 3333:3333
environment:
- ALWAYS_SKIP_TVDB_IDS=12345,67890 # Comma-separated
restart: unless-stopped
```
# Albums that fueled development
| Album | Artist |
|-------------------------|---------------------------------|
| Kill la Kill OST | Various Artists |
| Your Name OST | RADWIMPS |
| Kessoku Band | Kessoku Band |
| Oidaki | Tota |
<sup>it only seems right i listen to anime music while i work on this</sup>