anilist_moe 0.4.0

Anilist_Moe is a Rust Wrapper for the Anilist API. This library allows you to seamlessly interact with Anilist's Public API with and without authentication. This currently supports Anime, Manga, Users, Staff, Forum, Threads, Recommendations, Reviews and User Activities
Documentation
query (
  $page: Int
  $id: Int
  $perPage: Int
  $search: String
  $sort: [StaffSort]
  $isBirthday: Boolean
  # NOT filters
  $id_not: Int
  $id_in: [Int]
  $id_not_in: [Int]
  # Extra
  $includeStaffMedia: Boolean = false
  $includeCharacters: Boolean = false
  $includeCharacterMedia: Boolean = false
  $includeSubmitter: Boolean = false
  $includeSubmissionStatus: Boolean = false
  $includeSubmissionNotes: Boolean = false
  $includeModNotes: Boolean = false
  # Sub-pagination variables
  $staffMediaPage: Int = 1
  $staffMediaPerPage: Int = 10
  $charactersPage: Int = 1
  $charactersPerPage: Int = 10
  $characterMediaPage: Int = 1
  $characterMediaPerPage: Int = 10
) {
  Page(page: $page, perPage: $perPage) {
    pageInfo {
      total
      perPage
      currentPage
      lastPage
      hasNextPage
    }
    staff(id: $id, search: $search, sort: $sort, isBirthday: $isBirthday, id_not: $id_not, id_in: $id_in, id_not_in: $id_not_in) {
      id
      name {
        first
        middle
        last
        full
        native
        userPreferred
      }
      languageV2
      image {
        large
        medium
      }
      description
      primaryOccupations
      gender
      dateOfBirth {
        year
        month
        day
      }
      dateOfDeath {
        year
        month
        day
      }
      age
      yearsActive
      homeTown
      bloodType
      isFavourite
      isFavouriteBlocked
      siteUrl
      favourites
      staffMedia(sort: POPULARITY_DESC, page: $staffMediaPage, perPage: $staffMediaPerPage) @include(if: $includeStaffMedia) {
        pageInfo {
            total
            perPage
            currentPage
            lastPage
            hasNextPage
        }
        edges {
            id
            staffRole
            node {
                id
                title {
                    romaji
                    english
                    native
                    userPreferred
                }
                type
                format
                status
                startDate {
                    year
                    month
                    day
                }
                endDate {
                    year
                    month
                    day
                }
                season
                seasonYear
                episodes
                chapters
                volumes
                averageScore
                popularity
                coverImage {
                    large
                    medium
                    color
                }
                bannerImage
                genres
                isAdult
            }
        }
      }
      characters(sort: RELEVANCE, page: $charactersPage, perPage: $charactersPerPage) @include(if: $includeCharacters) {
        pageInfo {
            total
            perPage
            currentPage
            lastPage
            hasNextPage
        }
        edges {
            id
            role
            node {
                id
                name {
                    first
                    middle
                    last
                    full
                    native
                    userPreferred
                }
                image {
                    large
                    medium
                }
                description
                gender
                dateOfBirth {
                    year
                    month
                    day
                }
                age
                bloodType
                isFavourite
                siteUrl
                favourites
            }
        }
      }
      characterMedia(sort: POPULARITY_DESC, page: $characterMediaPage, perPage: $characterMediaPerPage) @include(if: $includeCharacterMedia) {
        pageInfo {
            total
            perPage
            currentPage
            lastPage
            hasNextPage
        }
        edges {
            id
            characterRole
            node {
                id
                title {
                    romaji
                    english
                    native
                    userPreferred
                }
                type
                format
                status
                startDate {
                    year
                    month
                    day
                }
                season
                seasonYear
                episodes
                chapters
                averageScore
                popularity
                coverImage {
                    large
                    medium
                    color
                }
                genres
                isAdult
            }
        }
      }
      submitter @include(if: $includeSubmitter) {
        id
        name
      }
      submissionStatus @include(if: $includeSubmissionStatus)
      submissionNotes @include(if: $includeSubmissionNotes)
      modNotes @include(if: $includeModNotes)
    }
  }
}