Types

class AuthOptions(client_id: str, redirect_uri: str, client_secret: str, scopes: list[str] | None = None)
client_id: str
redirect_uri: str
client_secret: str
scopes: list[str] | None = None
class AccessTokenData(access_token: str, token_type: str, expires_in: int, refresh_token: str, scope: str, created_at: int)
access_token: str
token_type: str
expires_in: int
refresh_token: str
scope: str
created_at: int
class AbuseRequest(kind: str, value: bool, affected_ids: list[int])
kind: str
value: bool
affected_ids: list[int]
class Achievement(id: int, neko_id: str, level: int, progress: int, user_id: int, created_at: str, updated_at: str)
id: int
neko_id: str
level: int
progress: int
user_id: int
created_at: str
updated_at: str
class Anime(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, episodes: int, episodes_aired: int)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
episodes: int
episodes_aired: int
class AnimeInfo(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, episodes: int, episodes_aired: int, english: list[str] | list[None], japanese: list[str] | list[None], synonyms: list[str] | list[None], license_name_ru: str | None, duration: int, description: str, description_html: str, description_source: str | None, franchise: str | None, anons: bool, ongoing: bool, favoured: bool, thread_id: int, rating: str, topic_id: int, myanimelist_id: int, rates_scores_stats: list[dict], rates_statuses_stats: list[dict], updated_at: str, next_episode_at: str | None, fansubbers: list[dict], fandubbers: list[dict], licensors: list[dict], genres: list[shikimori.types.genres.GenreExtended], studios: list[shikimori.types.studios.Studio], videos: list[shikimori.types.videos.Video], screenshots: list[shikimori.types.screenshots.ScreenShot], user_rate: shikimori.types.user_rates.UserRateBrief)
english: list[str] | list[None]
japanese: list[str] | list[None]
synonyms: list[str] | list[None]
license_name_ru: str | None
duration: int
description: str
description_html: str
description_source: str | None
franchise: str | None
anons: bool
ongoing: bool
favoured: bool
thread_id: int
rating: str
topic_id: int
myanimelist_id: int
rates_scores_stats: list[dict]
rates_statuses_stats: list[dict]
updated_at: str
next_episode_at: str | None
fansubbers: list[dict]
fandubbers: list[dict]
licensors: list[dict]
genres: list[GenreExtended]
studios: list[Studio]
videos: list[Video]
screenshots: list[ScreenShot]
user_rate: UserRateBrief
class Relation(relation: str, relation_russian: str, anime: shikimori.types.animes.Anime | None, manga: shikimori.types.manga.Manga | None)
relation: str
relation_russian: str
anime: Anime | None
manga: Manga | None
class Ban(id: int, user_id: int, comment: shikimori.types.comment.CommentBrief, moderator_id: int, reason: str, created_at: str, duration_minutes: int, user: shikimori.types.user.User, moderator: shikimori.types.user.User)
id: int
user_id: int
comment: CommentBrief
moderator_id: int
reason: str
created_at: str
duration_minutes: int
user: User
moderator: User
class Calendar(next_episode: int, next_episode_at: str, duration: int, anime: shikimori.types.animes.Anime)
next_episode: int
next_episode_at: str
duration: int
anime: Anime
class MangaRole(role: str, roles: list[str], id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int, chapters: int)
role: str
roles: list[str]
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
volumes: int
chapters: int
class AnimeRole(role: str, roles: list[str], id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, episodes: int, episodes_aired: int)
role: str
roles: list[str]
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
episodes: int
episodes_aired: int
class CharacterBrief(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str)
id: int
name: str
russian: str
image: Photo
url: str
class Character(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, altname: str, japanese: str, description: str, description_html: str, description_source: str, favoured: bool, thread_id: int, topic_id: int, updated_at: str, seyu: list[shikimori.types.character.CharacterBrief], animes: list[shikimori.types.character.AnimeRole], mangas: list[shikimori.types.character.MangaRole])
id: int
name: str
russian: str
image: Photo
url: str
altname: str
japanese: str
description: str
description_html: str
description_source: str
favoured: bool
thread_id: int
topic_id: int
updated_at: str
seyu: list[CharacterBrief]
animes: list[AnimeRole]
mangas: list[MangaRole]
class Club(id: int, name: str, logo: shikimori.types.photo.Logo, is_censored: bool, join_policy: str, comment_policy: str)
id: int
name: str
is_censored: bool
join_policy: str
comment_policy: str
class ClubInfo(id: int, name: str, logo: shikimori.types.photo.Logo, is_censored: bool, join_policy: str, comment_policy: str, description: str, description_html: str, mangas: list[shikimori.types.manga.Manga], characters: list[shikimori.types.character.CharacterBrief], thread_id: int, topic_id: int, user_role: str, style_id: int, members: list[shikimori.types.user.User], animes: list[shikimori.types.animes.Anime], images: list[shikimori.types.photo.ClubImage])
description: str
description_html: str
mangas: list[Manga]
characters: list[CharacterBrief]
thread_id: int
topic_id: int
user_role: str
style_id: int
members: list[User]
animes: list[Anime]
images: list[ClubImage]
class Collection(id: int, topic_title: str, body: str, html_body: str, html_footer: str, created_at: str, comments_count: int, forum: shikimori.types.topics.Forum, user: shikimori.types.user.User, type: str, linked_id: int, linked_type: str, linked: shikimori.types.topics.Linked | None, viewed: bool, last_comment_viewed: bool, event: str, episode: int)
class Comment(id: int, user_id: int, commentable_id: int, commentable_type: str, body: str, html_body: str, created_at: str, updated_at: str, is_offtopic: bool, is_summary: bool, can_be_edited: bool, user: shikimori.types.user.User)
id: int
user_id: int
commentable_id: int
commentable_type: str
body: str
html_body: str
created_at: str
updated_at: str
is_offtopic: bool
is_summary: bool
can_be_edited: bool
user: User
class CommentBrief(id: int, commentable_id: int, commentable_type: str, body: str, user_id: int, created_at: str, updated_at: str, is_offtopic: bool)
id: int
commentable_id: int
commentable_type: str
body: str
user_id: int
created_at: str
updated_at: str
is_offtopic: bool
class MangaConstant(kind: list[str], status: list[str])
kind: list[str]
status: list[str]
class AnimeConstant(kind: list[str], status: list[str])
kind: list[str]
status: list[str]
class UserRateConstant(status: list[str])
status: list[str]
class ClubConstant(join_policy: list[str], comment_policy: list[str], image_upload_policy: list[str])
join_policy: list[str]
comment_policy: list[str]
image_upload_policy: list[str]
class SmileConstant(bbcode: str, path: str)
bbcode: str
path: str
class Dialog(target_user: shikimori.types.user.User, message: shikimori.types.message.Message)
target_user: User
message: Message
class EpisodeNotification(id: int, anime_id: int, episode: int, is_raw: bool, is_subtitles: bool, is_fandub: bool, is_anime365: bool, topic_id: bool)
id: int
anime_id: int
episode: int
is_raw: bool
is_subtitles: bool
is_fandub: bool
is_anime365: bool
topic_id: bool
class Node(id: int, date: int, name: str, image_url: str, url: str, year: int | None, kind: str, weight: int)
id: int
date: int
name: str
image_url: str
url: str
year: int | None
kind: str
weight: int
id: int
source_id: int
source: int
target_id: int
target: int
weight: int
relation: str
class Franchise(nodes: list[shikimori.types.franchise.Node], links: list[shikimori.types.franchise.Link], current_id: int)
nodes: list[Node]
current_id: int
class Genre(id: int, name: str, russian: str, kind: str)
id: int
name: str
russian: str
kind: str
class GenreExtended(id: int, name: str, russian: str, kind: str, entry_type: str)
id: int
name: str
russian: str
kind: str
entry_type: str
class Manga(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int, chapters: int)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
volumes: int
chapters: int
class MangaInfo(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int, chapters: int, english: list[str], japanese: list[str], synonyms: list[str], license_name_ru: str, description: str, description_html: str, description_source: str | None, franchise: str, favoured: bool, anons: bool, ongoing: bool, thread_id: int, topic_id: int, myanimelist_id: int, rates_scores_stats: list[dict], rates_statuses_stats: list[dict], licensors: list[str], genres: list[shikimori.types.genres.Genre], user_rate: shikimori.types.user_rates.UserRate | None)
english: list[str]
japanese: list[str]
synonyms: list[str]
license_name_ru: str
description: str
description_html: str
description_source: str | None
franchise: str
favoured: bool
anons: bool
ongoing: bool
thread_id: int
topic_id: int
myanimelist_id: int
rates_scores_stats: list[dict]
rates_statuses_stats: list[dict]
licensors: list[str]
genres: list[Genre]
user_rate: UserRate | None
class Message(id: int, kind: str, read: bool, body: str, html_body: str, created_at: str, linked_id: int | None, linked_type: str | None, linked: shikimori.types.topics.Linked | None)
id: int
kind: str
read: bool
body: str
html_body: str
created_at: str
linked_id: int | None
linked_type: str | None
linked: Linked | None
class MessageInfo(id: int, kind: str, read: bool, body: str, html_body: str, created_at: str, linked_id: int | None, linked_type: str | None, linked: shikimori.types.topics.Linked | None, sender: shikimori.types.user.User, to: shikimori.types.user.User)
id: int
kind: str
read: bool
body: str
html_body: str
created_at: str
linked_id: int | None
linked_type: str | None
linked: Linked | None
sender: User
to: User
class Date(day: int = None, month: int = None, year: int = None)
day: int = None
month: int = None
year: int = None
class Works(anime: shikimori.types.animes.Anime | None, manga: shikimori.types.manga.Manga | None, role: str)
anime: Anime | None
manga: Manga | None
role: str
class Role(animes: list[shikimori.types.animes.Anime], characters: list[shikimori.types.character.Character])
animes: list[Anime]
characters: list[Character]
class People(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, japanese: str, job_title: str, birth_on: shikimori.types.people.Date, deceased_on: shikimori.types.people.Date, website: str, groupped_roles: list[str | int], works: list[shikimori.types.people.Works], roles: list[shikimori.types.people.Role], topic_id: int, person_favoured: bool, producer: bool, producer_favoured: bool, mangaka: bool, mangaka_favoured: bool, seyu: bool, seyu_favoured: bool, updated_at: str, thread_id: int, birthday: shikimori.types.people.Date)
id: int
name: str
russian: str
image: Photo
url: str
japanese: str
job_title: str
birth_on: Date
deceased_on: Date
website: str
groupped_roles: list[str | int]
works: list[Works]
roles: list[Role]
topic_id: int
person_favoured: bool
producer: bool
producer_favoured: bool
mangaka: bool
mangaka_favoured: bool
seyu: bool
seyu_favoured: bool
updated_at: str
thread_id: int
birthday: Date
class Photo(original: str, preview: str, x96: str, x48: str)
original: str
preview: str
x96: str
x48: str
property original_url: str
property preview_url: str
property x96_url: str
property x48_url: str
class PhotoExtended(x160: str, x148: str, x80: str, x64: str, x48: str, x32: str, x16: str)
x160: str
x148: str
x80: str
x64: str
x48: str
x32: str
x16: str
property x160_url: str
property x148_url: str
property x80_url: str
property x64_url: str
property x48_url: str
property x32_url: str
property x16_url: str
class ClubImage(id: int, original_url: str, main_url: str, preview_url: str, can_destroy: bool, user_id: int)
id: int
original_url: str
main_url: str
preview_url: str
can_destroy: bool
user_id: int
property original_full_url: str
property main_full_url: str
property preview_full_url: str
class UserImage(id: int, preview: str, url: str, bbcode: str)
id: int
preview: str
url: str
bbcode: str
property preview_url: str
property full_url: str
original: str
main: str
x96: str
x73: str
x48: str
property original_url: str
property main_url: str
property x96_url: str
property x73_url: str
property x48_url: str
class Publisher(id: int, name: str)
id: int
name: str
class Ranobe(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int, chapters: int)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
volumes: int
chapters: int
class RanobeInfo(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int, chapters: int, english: list[str], japanese: list[str], synonyms: list[str], license_name_ru: str, description: str, description_html: str, description_source: str | None, franchise: str, favoured: bool, anons: bool, ongoing: bool, thread_id: int, topic_id: int, myanimelist_id: int, rates_scores_stats: list[dict], rates_statuses_stats: list[dict], licensors: list[str], genres: list[shikimori.types.genres.Genre], user_rate: dict | None)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
volumes: int
chapters: int
english: list[str]
japanese: list[str]
synonyms: list[str]
license_name_ru: str
description: str
description_html: str
description_source: str | None
franchise: str
favoured: bool
anons: bool
ongoing: bool
thread_id: int
topic_id: int
myanimelist_id: int
rates_scores_stats: list[dict]
rates_statuses_stats: list[dict]
licensors: list[str]
genres: list[Genre]
user_rate: dict | None
class Review(id: int, user_id: int, anime_id: int, manga_id: int, body: str, opinion: str, is_written_before_release: bool, created_at: str, updated_at: str, comments_count: int, cached_votes_up: int, cached_votes_down: int, changed_at: str)
id: int
user_id: int
anime_id: int
manga_id: int
body: str
opinion: str
is_written_before_release: bool
created_at: str
updated_at: str
comments_count: int
cached_votes_up: int
cached_votes_down: int
changed_at: str
class Role(roles: list[str], roles_russian: list[str], character: shikimori.types.character.CharacterBrief, person: shikimori.types.character.CharacterBrief)
roles: list[str]
roles_russian: list[str]
character: CharacterBrief
person: CharacterBrief
class ScreenShot(preview: str, original: str)
preview: str
original: str
property original_url: str
property preview_url: str
class Studio(id: int, name: str, filtered_name: str, real: bool, image: str)
id: int
name: str
filtered_name: str
real: bool
image: str
class Style(id: int, owner_id: int, owner_type: str, name: str, css: str, compiled_css: None, created_at: str, updated_at: str)
id: int
owner_id: int
owner_type: str
name: str
css: str
compiled_css: None
created_at: str
updated_at: str
class Topic(topic_id: str, is_ignored: bool)
topic_id: str
is_ignored: bool
class Title(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, episodes: int = 0, episodes_aired: int = 0, volumes: int = 0, chapters: int = 0)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
episodes: int = 0
episodes_aired: int = 0
volumes: int = 0
chapters: int = 0
class Forum(id: int, position: int, name: str, permalink: str, url: str)
id: int
position: int
name: str
url: str
class Linked(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str | None, released_on: str | None, episodes: int = None, episodes_aired: int = None, volumes: int = None, chapters: int = None)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str | None
released_on: str | None
episodes: int = None
episodes_aired: int = None
volumes: int = None
chapters: int = None
class Topic(id: int, topic_title: str, body: str, html_body: str, html_footer: str, created_at: str, comments_count: int, forum: shikimori.types.topics.Forum, user: shikimori.types.user.User, type: str, linked_id: int, linked_type: str, linked: shikimori.types.topics.Linked | None, viewed: bool, last_comment_viewed: bool, event: str, episode: int)
id: int
topic_title: str
body: str
html_body: str
created_at: str
comments_count: int
forum: Forum
user: User
type: str
linked_id: int
linked_type: str
linked: Linked | None
viewed: bool
last_comment_viewed: bool
event: str
episode: int
class Status(id: int, linked: shikimori.types.topics.Linked, event: str, episode: int, created_at: str, url: str)
id: int
linked: Linked
event: str
episode: int
created_at: str
url: str
class ReviewLinked(id: int, user: shikimori.types.user.User, target: shikimori.types.topics.Title, votes_count: int, votes_for: int, body: str, html_body: str, overall: int, storyline: int, music: int, characters: int, animation: int, created_at: str)
id: int
user: User
target: Title
votes_count: int
votes_for: int
body: str
html_body: str
overall: int
storyline: int
music: int
characters: int
animation: int
created_at: str
class TopicReview(id: int, topic_title: str, body: str, html_body: str, html_footer: str, created_at: str, comments_count: int, forum: shikimori.types.topics.Forum, user: shikimori.types.user.User, type: str, linked_id: int, linked_type: str, linked: shikimori.types.topics.ReviewLinked | None, viewed: bool, last_comment_viewed: bool, event: str, episode: int)
id: int
topic_title: str
body: str
html_body: str
created_at: str
comments_count: int
forum: Forum
user: User
type: str
linked_id: int
linked_type: str
viewed: bool
last_comment_viewed: bool
event: str
episode: int
linked: ReviewLinked | None
class User(id: int, nickname: str, image: shikimori.types.photo.PhotoExtended, avatar: str, last_online_at: str, url: str)
id: int
nickname: str
image: PhotoExtended
avatar: str
last_online_at: str
url: str
class ValueObj(name: Any, value: Any)
name: Any
value: Any
class UserTitle(id: int, grouped_id: str, name: str, size: int, type: str)
id: int
grouped_id: str
name: str
size: int
type: str
class Statuses(animes: list[shikimori.types.user.UserTitle], manga: list[shikimori.types.user.UserTitle])
animes: list[UserTitle]
manga: list[UserTitle]
class Obj(anime: list[shikimori.types.user.ValueObj], manga: list[shikimori.types.user.ValueObj])
anime: list[ValueObj]
manga: list[ValueObj]
class Stats(statuses: shikimori.types.user.Statuses, full_statuses: shikimori.types.user.Statuses, scores: shikimori.types.user.Obj, types: shikimori.types.user.Obj, ratings: shikimori.types.user.Obj, has_anime: bool, has_manga: bool, genres: list, studios: list, publishers: list, activity: list[shikimori.types.user.ValueObj])
statuses: Statuses
full_statuses: Statuses
scores: Obj
types: Obj
ratings: Obj
has_anime: bool
has_manga: bool
genres: list
studios: list
publishers: list
activity: list[ValueObj]
class UserInfoInc(id: int, nickname: str, image: shikimori.types.photo.PhotoExtended, avatar: str, last_online_at: str, url: str, name: str | None, sex: str | None, full_years: int | None, birth_on: Any | None, locale: str)
name: str | None
sex: str | None
full_years: int | None
birth_on: Any | None
locale: str
property avatar_url: str
class UserInfo(id: int, nickname: str, image: shikimori.types.photo.PhotoExtended, avatar: str, last_online_at: str, url: str, name: str | None, sex: str | None, full_years: int | None, last_online: str, website: str, location: str | None, banned: bool, about: str, about_html: str, common_info: list[str], show_comments: bool, in_friends: bool | None, is_ignored: bool, stats: shikimori.types.user.Stats, style_id: int)
name: str | None
sex: str | None
full_years: int | None
last_online: str
website: str
location: str | None
banned: bool
about: str
about_html: str
common_info: list[str]
show_comments: bool
in_friends: bool | None
is_ignored: bool
stats: Stats
style_id: int
class Rate(anime: shikimori.types.animes.Anime | None, manga: shikimori.types.manga.Manga | None, user: shikimori.types.user.User, id: int, score: int, status: str, text: str, episodes: int, chapters: int, volumes: int, text_html: str, rewatches: int)
anime: Anime | None
manga: Manga | None
user: User
id: int
score: int
status: str
text: str
episodes: int
chapters: int
volumes: int
text_html: str
rewatches: int
class FavouritesObj(id: int, name: str, russian: str, image: str, url: None)
id: int
name: str
russian: str
image: str
url: None
class Favourites(animes: list[shikimori.types.user.FavouritesObj], mangas: list[shikimori.types.user.FavouritesObj], ranobe: list[shikimori.types.user.FavouritesObj], characters: list[shikimori.types.user.FavouritesObj], mangakas: list[shikimori.types.user.FavouritesObj], seyu: list[shikimori.types.user.FavouritesObj], producers: list[shikimori.types.user.FavouritesObj])
animes: list[FavouritesObj]
mangas: list[FavouritesObj]
ranobe: list[FavouritesObj]
characters: list[FavouritesObj]
mangakas: list[FavouritesObj]
seyu: list[FavouritesObj]
producers: list[FavouritesObj]
class UnreadMessages(messages: int, news: int, notifications: int)
messages: int
news: int
notifications: int
class TitleHistory(id: int, name: str, russian: str, image: shikimori.types.photo.Photo, url: str, kind: str, score: str, status: str, aired_on: str, released_on: str, volumes: int | None, chapters: int | None, episodes: int | None, episodes_aired: int | None)
id: int
name: str
russian: str
image: Photo
url: str
kind: str
score: str
status: str
aired_on: str
released_on: str
volumes: int | None
chapters: int | None
episodes: int | None
episodes_aired: int | None
class HistoryObj(id: int, description: str, target: shikimori.types.user.TitleHistory | None)
id: int
description: str
target: TitleHistory | None
class UserIgnore(user_id: str, is_ignored: bool)
user_id: str
is_ignored: bool
class UserRateBrief(id: int, score: int, status: str, rewatches: int, episodes: int, volumes: int, chapters: int, text: str, text_html: str, created_at: str, updated_at: str)
id: int
score: int
status: str
rewatches: int
episodes: int
volumes: int
chapters: int
text: str
text_html: str
created_at: str
updated_at: str
class UserRate(id: int, user_id: int, target_id: int, target_type: str, score: int, status: str, rewatches: int, episodes: int, volumes: int, chapters: int, text: str, text_html: str, created_at: str, updated_at: str)
id: int
user_id: int
target_id: int
target_type: str
score: int
status: str
rewatches: int
episodes: int
volumes: int
chapters: int
text: str
text_html: str
created_at: str
updated_at: str
class Video(id: int, url: str, image_url: str, player_url: str, name: str, kind: str, hosting: str)
id: int
url: str
image_url: str
player_url: str
name: str
kind: str
hosting: str