Hooks
How to use hooks
AnilistPlatform
onGetAnime
Can prevent default: No
Event Interface:
interface GetAnimeEvent {
next();
anime?: AL_BaseAnime;
}
Event types:
Example:
$app.onGetAnime((e) => {
// console.log(e.anime);
e.next();
});
onGetAnimeDetails
Can prevent default: No
Event Interface:
interface GetAnimeDetailsEvent {
next();
anime?: AL_AnimeDetailsById_Media;
}
Event types:
Example:
$app.onGetAnimeDetails((e) => {
// console.log(e.anime);
e.next();
});
onGetManga
Can prevent default: No
Event Interface:
interface GetMangaEvent {
next();
manga?: AL_BaseManga;
}
Event types:
Example:
$app.onGetManga((e) => {
// console.log(e.manga);
e.next();
});
onGetMangaDetails
Can prevent default: No
Event Interface:
interface GetMangaDetailsEvent {
next();
manga?: AL_MangaDetailsById_Media;
}
Event types:
Example:
$app.onGetMangaDetails((e) => {
// console.log(e.manga);
e.next();
});
onGetCachedAnimeCollection
Can prevent default: No
Event Interface:
interface GetCachedAnimeCollectionEvent {
next();
animeCollection?: AL_AnimeCollection;
}
Event types:
Example:
$app.onGetCachedAnimeCollection((e) => {
// console.log(e.animeCollection);
e.next();
});
onGetCachedMangaCollection
Can prevent default: No
Event Interface:
interface GetCachedMangaCollectionEvent {
next();
mangaCollection?: AL_MangaCollection;
}
Event types:
Example:
$app.onGetCachedMangaCollection((e) => {
// console.log(e.mangaCollection);
e.next();
});
onGetAnimeCollection
Can prevent default: No
Event Interface:
interface GetAnimeCollectionEvent {
next();
animeCollection?: AL_AnimeCollection;
}
Event types:
Example:
$app.onGetAnimeCollection((e) => {
// console.log(e.animeCollection);
e.next();
});
onGetMangaCollection
Can prevent default: No
Event Interface:
interface GetMangaCollectionEvent {
next();
mangaCollection?: AL_MangaCollection;
}
Event types:
Example:
$app.onGetMangaCollection((e) => {
// console.log(e.mangaCollection);
e.next();
});
onGetCachedRawAnimeCollection
Can prevent default: No
Event Interface:
interface GetCachedRawAnimeCollectionEvent {
next();
animeCollection?: AL_AnimeCollection;
}
Event types:
Example:
$app.onGetCachedRawAnimeCollection((e) => {
// console.log(e.animeCollection);
e.next();
});
onGetCachedRawMangaCollection
Can prevent default: No
Event Interface:
interface GetCachedRawMangaCollectionEvent {
next();
mangaCollection?: AL_MangaCollection;
}
Event types:
Example:
$app.onGetCachedRawMangaCollection((e) => {
// console.log(e.mangaCollection);
e.next();
});
onGetRawAnimeCollection
Can prevent default: No
Event Interface:
interface GetRawAnimeCollectionEvent {
next();
animeCollection?: AL_AnimeCollection;
}
Event types:
Example:
$app.onGetRawAnimeCollection((e) => {
// console.log(e.animeCollection);
e.next();
});
onGetRawMangaCollection
Can prevent default: No
Event Interface:
interface GetRawMangaCollectionEvent {
next();
mangaCollection?: AL_MangaCollection;
}
Event types:
Example:
$app.onGetRawMangaCollection((e) => {
// console.log(e.mangaCollection);
e.next();
});
onGetStudioDetails
Can prevent default: No
Event Interface:
interface GetStudioDetailsEvent {
next();
studio?: AL_StudioDetails;
}
Event types:
Example:
$app.onGetStudioDetails((e) => {
// console.log(e.studio);
e.next();
});
onPreUpdateEntry
PreUpdateEntryEvent is triggered when an entry is about to be updated. Prevent default to skip the default update and override the update.
Can prevent default: Yes
Event Interface:
interface PreUpdateEntryEvent {
next();
preventDefault();
mediaId?: number;
status?: AL_MediaListStatus;
scoreRaw?: number;
progress?: number;
startedAt?: AL_FuzzyDateInput;
completedAt?: AL_FuzzyDateInput;
}
Event types:
Example:
$app.onPreUpdateEntry((e) => {
// console.log(e.mediaId);
// console.log(e.status);
// console.log(e.scoreRaw);
// console.log(e.progress);
// console.log(e.startedAt);
// console.log(e.completedAt);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPostUpdateEntry
Can prevent default: No
Event Interface:
interface PostUpdateEntryEvent {
next();
mediaId?: number;
}
Example:
$app.onPostUpdateEntry((e) => {
// console.log(e.mediaId);
e.next();
});
onPreUpdateEntryProgress
PreUpdateEntryProgressEvent is triggered when an entry's progress is about to be updated. Prevent default to skip the default update and override the update.
Can prevent default: Yes
Event Interface:
interface PreUpdateEntryProgressEvent {
next();
preventDefault();
mediaId?: number;
progress?: number;
totalCount?: number;
status?: AL_MediaListStatus;
}
Event types:
Example:
$app.onPreUpdateEntryProgress((e) => {
// console.log(e.mediaId);
// console.log(e.progress);
// console.log(e.totalCount);
// console.log(e.status);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPostUpdateEntryProgress
Can prevent default: No
Event Interface:
interface PostUpdateEntryProgressEvent {
next();
mediaId?: number;
}
Example:
$app.onPostUpdateEntryProgress((e) => {
// console.log(e.mediaId);
e.next();
});
onPreUpdateEntryRepeat
PreUpdateEntryRepeatEvent is triggered when an entry's repeat is about to be updated. Prevent default to skip the default update and override the update.
Can prevent default: Yes
Event Interface:
interface PreUpdateEntryRepeatEvent {
next();
preventDefault();
mediaId?: number;
repeat?: number;
}
Example:
$app.onPreUpdateEntryRepeat((e) => {
// console.log(e.mediaId);
// console.log(e.repeat);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPostUpdateEntryRepeat
Can prevent default: No
Event Interface:
interface PostUpdateEntryRepeatEvent {
next();
mediaId?: number;
}
Example:
$app.onPostUpdateEntryRepeat((e) => {
// console.log(e.mediaId);
e.next();
});
Anime
onAnimeEntryRequested
AnimeEntryRequestedEvent is triggered when an anime entry is requested. Prevent default to skip the default behavior and return the modified entry. This event is triggered before [AnimeEntryEvent]. If the modified entry is nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface AnimeEntryRequestedEvent {
next();
preventDefault();
mediaId: number;
localFiles?: Array<Anime_LocalFile>;
animeCollection?: AL_AnimeCollection;
entry?: Anime_Entry;
}
Event types:
Example:
$app.onAnimeEntryRequested((e) => {
// console.log(e.mediaId);
// console.log(e.localFiles);
// console.log(e.animeCollection);
// console.log(e.entry);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAnimeEntry
AnimeEntryEvent is triggered when the media entry is being returned. This event is triggered after [AnimeEntryRequestedEvent].
Can prevent default: No
Event Interface:
interface AnimeEntryEvent {
next();
entry?: Anime_Entry;
}
Event types:
Example:
$app.onAnimeEntry((e) => {
// console.log(e.entry);
e.next();
});
onAnimeEntryFillerHydration
AnimeEntryFillerHydrationEvent is triggered when the filler data is being added to the media entry. This event is triggered after [AnimeEntryEvent]. Prevent default to skip the filler data.
Can prevent default: Yes
Event Interface:
interface AnimeEntryFillerHydrationEvent {
next();
preventDefault();
entry?: Anime_Entry;
}
Event types:
Example:
$app.onAnimeEntryFillerHydration((e) => {
// console.log(e.entry);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAnimeEntryLibraryDataRequested
AnimeEntryLibraryDataRequestedEvent is triggered when the app requests the library data for a media entry. This is triggered before [AnimeEntryLibraryDataEvent].
Can prevent default: No
Event Interface:
interface AnimeEntryLibraryDataRequestedEvent {
next();
entryLocalFiles?: Array<Anime_LocalFile>;
mediaId: number;
currentProgress: number;
}
Event types:
Example:
$app.onAnimeEntryLibraryDataRequested((e) => {
// console.log(e.entryLocalFiles);
// console.log(e.mediaId);
// console.log(e.currentProgress);
e.next();
});
onAnimeEntryLibraryData
AnimeEntryLibraryDataEvent is triggered when the library data is being added to the media entry. This is triggered after [AnimeEntryLibraryDataRequestedEvent].
Can prevent default: No
Event Interface:
interface AnimeEntryLibraryDataEvent {
next();
entryLibraryData?: Anime_EntryLibraryData;
}
Event types:
Example:
$app.onAnimeEntryLibraryData((e) => {
// console.log(e.entryLibraryData);
e.next();
});
onAnimeEntryManualMatchBeforeSave
AnimeEntryManualMatchBeforeSaveEvent is triggered when the user manually matches local files to a media entry. Prevent default to skip saving the local files.
Can prevent default: Yes
Event Interface:
interface AnimeEntryManualMatchBeforeSaveEvent {
next();
preventDefault();
mediaId: number;
paths?: Array<string>;
matchedLocalFiles?: Array<Anime_LocalFile>;
}
Event types:
Example:
$app.onAnimeEntryManualMatchBeforeSave((e) => {
// console.log(e.mediaId);
// console.log(e.paths);
// console.log(e.matchedLocalFiles);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMissingEpisodesRequested
MissingEpisodesRequestedEvent is triggered when the user requests the missing episodes for the entire library. Prevent default to skip the default process and return the modified missing episodes.
Can prevent default: Yes
Event Interface:
interface MissingEpisodesRequestedEvent {
next();
preventDefault();
animeCollection?: AL_AnimeCollection;
localFiles?: Array<Anime_LocalFile>;
silencedMediaIds?: Array<number>;
missingEpisodes?: Anime_MissingEpisodes;
}
Event types:
Example:
$app.onMissingEpisodesRequested((e) => {
// console.log(e.animeCollection);
// console.log(e.localFiles);
// console.log(e.silencedMediaIds);
// console.log(e.missingEpisodes);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMissingEpisodes
MissingEpisodesEvent is triggered when the missing episodes are being returned.
Can prevent default: No
Event Interface:
interface MissingEpisodesEvent {
next();
missingEpisodes?: Anime_MissingEpisodes;
}
Event types:
Example:
$app.onMissingEpisodes((e) => {
// console.log(e.missingEpisodes);
e.next();
});
onAnimeLibraryCollectionRequested
AnimeLibraryCollectionRequestedEvent is triggered when the user requests the library collection. Prevent default to skip the default process and return the modified library collection. If the modified library collection is nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface AnimeLibraryCollectionRequestedEvent {
next();
preventDefault();
animeCollection?: AL_AnimeCollection;
localFiles?: Array<Anime_LocalFile>;
libraryCollection?: Anime_LibraryCollection;
}
Event types:
Example:
$app.onAnimeLibraryCollectionRequested((e) => {
// console.log(e.animeCollection);
// console.log(e.localFiles);
// console.log(e.libraryCollection);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAnimeLibraryCollection
AnimeLibraryCollectionRequestedEvent is triggered when the user requests the library collection.
Can prevent default: No
Event Interface:
interface AnimeLibraryCollectionEvent {
next();
libraryCollection?: Anime_LibraryCollection;
}
Event types:
Example:
$app.onAnimeLibraryCollection((e) => {
// console.log(e.libraryCollection);
e.next();
});
onAnimeLibraryStreamCollectionRequested
AnimeLibraryStreamCollectionRequestedEvent is triggered when the user requests the library stream collection. This is called when the user enables "Include in library" for either debrid/online/torrent streamings.
Can prevent default: No
Event Interface:
interface AnimeLibraryStreamCollectionRequestedEvent {
next();
animeCollection?: AL_AnimeCollection;
libraryCollection?: Anime_LibraryCollection;
}
Event types:
Example:
$app.onAnimeLibraryStreamCollectionRequested((e) => {
// console.log(e.animeCollection);
// console.log(e.libraryCollection);
e.next();
});
onAnimeLibraryStreamCollection
AnimeLibraryStreamCollectionEvent is triggered when the library stream collection is being returned.
Can prevent default: No
Event Interface:
interface AnimeLibraryStreamCollectionEvent {
next();
streamCollection?: Anime_StreamCollection;
}
Event types:
Example:
$app.onAnimeLibraryStreamCollection((e) => {
// console.log(e.streamCollection);
e.next();
});
Autodownloader
onAutoDownloaderRunStarted
AutoDownloaderRunStartedEvent is triggered when the autodownloader starts checking for new episodes. Prevent default to abort the run.
Can prevent default: Yes
Event Interface:
interface AutoDownloaderRunStartedEvent {
next();
preventDefault();
rules?: Array<Anime_AutoDownloaderRule>;
}
Event types:
Example:
$app.onAutoDownloaderRunStarted((e) => {
// console.log(e.rules);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAutoDownloaderTorrentsFetched
AutoDownloaderTorrentsFetchedEvent is triggered at the beginning of a run, when the autodownloader fetches torrents from the provider.
Can prevent default: No
Event Interface:
interface AutoDownloaderTorrentsFetchedEvent {
next();
torrents?: Array<AutoDownloader_NormalizedTorrent>;
}
Event types:
Example:
$app.onAutoDownloaderTorrentsFetched((e) => {
// console.log(e.torrents);
e.next();
});
onAutoDownloaderMatchVerified
AutoDownloaderMatchVerifiedEvent is triggered when a torrent is verified to follow a rule. Prevent default to abort the download if the match is found.
Can prevent default: Yes
Event Interface:
interface AutoDownloaderMatchVerifiedEvent {
next();
preventDefault();
torrent?: AutoDownloader_NormalizedTorrent;
rule?: Anime_AutoDownloaderRule;
listEntry?: AL_AnimeListEntry;
localEntry?: Anime_LocalFileWrapperEntry;
episode: number;
matchFound: boolean;
}
Event types:
- AutoDownloader_NormalizedTorrent
- Anime_AutoDownloaderRule
- AL_AnimeListEntry
- Anime_LocalFileWrapperEntry
Example:
$app.onAutoDownloaderMatchVerified((e) => {
// console.log(e.torrent);
// console.log(e.rule);
// console.log(e.listEntry);
// console.log(e.localEntry);
// console.log(e.episode);
// console.log(e.matchFound);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAutoDownloaderSettingsUpdated
AutoDownloaderSettingsUpdatedEvent is triggered when the autodownloader settings are updated
Can prevent default: No
Event Interface:
interface AutoDownloaderSettingsUpdatedEvent {
next();
settings?: Models_AutoDownloaderSettings;
}
Event types:
Example:
$app.onAutoDownloaderSettingsUpdated((e) => {
// console.log(e.settings);
e.next();
});
onAutoDownloaderBeforeDownloadTorrent
AutoDownloaderBeforeDownloadTorrentEvent is triggered when the autodownloader is about to download a torrent. Prevent default to abort the download.
Can prevent default: Yes
Event Interface:
interface AutoDownloaderBeforeDownloadTorrentEvent {
next();
preventDefault();
torrent?: AutoDownloader_NormalizedTorrent;
rule?: Anime_AutoDownloaderRule;
items?: Array<Models_AutoDownloaderItem>;
}
Event types:
Example:
$app.onAutoDownloaderBeforeDownloadTorrent((e) => {
// console.log(e.torrent);
// console.log(e.rule);
// console.log(e.items);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAutoDownloaderAfterDownloadTorrent
AutoDownloaderAfterDownloadTorrentEvent is triggered when the autodownloader has downloaded a torrent.
Can prevent default: No
Event Interface:
interface AutoDownloaderAfterDownloadTorrentEvent {
next();
torrent?: AutoDownloader_NormalizedTorrent;
rule?: Anime_AutoDownloaderRule;
}
Event types:
Example:
$app.onAutoDownloaderAfterDownloadTorrent((e) => {
// console.log(e.torrent);
// console.log(e.rule);
e.next();
});
Continuity
onWatchHistoryItemRequested
WatchHistoryItemRequestedEvent is triggered when a watch history item is requested. Prevent default to skip getting the watch history item from the file cache, in this case the event should have a valid WatchHistoryItem object or set it to nil to indicate that the watch history item was not found.
Can prevent default: Yes
Event Interface:
interface WatchHistoryItemRequestedEvent {
next();
preventDefault();
mediaId: number;
watchHistoryItem?: Continuity_WatchHistoryItem;
}
Event types:
Example:
$app.onWatchHistoryItemRequested((e) => {
// console.log(e.mediaId);
// console.log(e.watchHistoryItem);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onWatchHistoryItemUpdated
WatchHistoryItemUpdatedEvent is triggered when a watch history item is updated.
Can prevent default: No
Event Interface:
interface WatchHistoryItemUpdatedEvent {
next();
watchHistoryItem?: Continuity_WatchHistoryItem;
}
Event types:
Example:
$app.onWatchHistoryItemUpdated((e) => {
// console.log(e.watchHistoryItem);
e.next();
});
onWatchHistoryLocalFileEpisodeItemRequested
Can prevent default: No
Event Interface:
interface WatchHistoryLocalFileEpisodeItemRequestedEvent {
next();
Path: string;
LocalFiles?: Array<Anime_LocalFile>;
watchHistoryItem?: Continuity_WatchHistoryItem;
}
Event types:
Example:
$app.onWatchHistoryLocalFileEpisodeItemRequested((e) => {
// console.log(e.Path);
// console.log(e.LocalFiles);
// console.log(e.watchHistoryItem);
e.next();
});
onWatchHistoryStreamEpisodeItemRequested
Can prevent default: No
Event Interface:
interface WatchHistoryStreamEpisodeItemRequestedEvent {
next();
Episode: number;
MediaId: number;
watchHistoryItem?: Continuity_WatchHistoryItem;
}
Event types:
Example:
$app.onWatchHistoryStreamEpisodeItemRequested((e) => {
// console.log(e.Episode);
// console.log(e.MediaId);
// console.log(e.watchHistoryItem);
e.next();
});
DebridClient
onDebridAutoSelectTorrentsFetched
DebridAutoSelectTorrentsFetchedEvent is triggered when the torrents are fetched for auto select. The torrents are sorted by seeders from highest to lowest. This event is triggered before the top 3 torrents are analyzed.
Can prevent default: No
Event Interface:
interface DebridAutoSelectTorrentsFetchedEvent {
next();
Torrents?: Array<HibikeTorrent_AnimeTorrent>;
}
Event types:
Example:
$app.onDebridAutoSelectTorrentsFetched((e) => {
// console.log(e.Torrents);
e.next();
});
onDebridSkipStreamCheck
DebridSkipStreamCheckEvent is triggered when the debrid client is about to skip the stream check. Prevent default to enable the stream check.
Can prevent default: Yes
Event Interface:
interface DebridSkipStreamCheckEvent {
next();
preventDefault();
streamURL: string;
retries: number;
/**
* in seconds
*/
retryDelay: number;
}
Example:
$app.onDebridSkipStreamCheck((e) => {
// console.log(e.streamURL);
// console.log(e.retries);
// console.log(e.retryDelay);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onDebridSendStreamToMediaPlayer
DebridSendStreamToMediaPlayerEvent is triggered when the debrid client is about to send a stream to the media player. Prevent default to skip the playback.
Can prevent default: Yes
Event Interface:
interface DebridSendStreamToMediaPlayerEvent {
next();
preventDefault();
windowTitle: string;
streamURL: string;
media?: AL_BaseAnime;
aniDbEpisode: string;
playbackType: string;
}
Event types:
Example:
$app.onDebridSendStreamToMediaPlayer((e) => {
// console.log(e.windowTitle);
// console.log(e.streamURL);
// console.log(e.media);
// console.log(e.aniDbEpisode);
// console.log(e.playbackType);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onDebridLocalDownloadRequested
DebridLocalDownloadRequestedEvent is triggered when Seanime is about to download a debrid torrent locally. Prevent default to skip the default download and override the download.
Can prevent default: Yes
Event Interface:
interface DebridLocalDownloadRequestedEvent {
next();
preventDefault();
torrentName: string;
destination: string;
downloadUrl: string;
}
Example:
$app.onDebridLocalDownloadRequested((e) => {
// console.log(e.torrentName);
// console.log(e.destination);
// console.log(e.downloadUrl);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
DiscordrpcPresence
onDiscordPresenceAnimeActivityRequested
DiscordPresenceAnimeActivityRequestedEvent is triggered when anime activity is requested, after the [animeActivity] is processed, and right before the activity is sent to queue. There is no guarantee as to when or if the activity will be successfully sent to discord. Note that this event is triggered every 6 seconds or so, avoid heavy processing or perform it only when the activity is changed. Prevent default to stop the activity from being sent to discord.
Can prevent default: Yes
Event Interface:
interface DiscordPresenceAnimeActivityRequestedEvent {
next();
preventDefault();
animeActivity?: DiscordRPC_AnimeActivity;
details: string;
state: string;
startTimestamp?: number;
endTimestamp?: number;
largeImage: string;
largeText: string;
smallImage: string;
smallText: string;
buttons?: Array<DiscordRPC_Button>;
instance: boolean;
type: number;
}
Event types:
Example:
$app.onDiscordPresenceAnimeActivityRequested((e) => {
// console.log(e.animeActivity);
// console.log(e.details);
// console.log(e.state);
// console.log(e.startTimestamp);
// console.log(e.endTimestamp);
// console.log(e.largeImage);
// console.log(e.largeText);
// console.log(e.smallImage);
// console.log(e.smallText);
// console.log(e.buttons);
// console.log(e.instance);
// console.log(e.type);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onDiscordPresenceMangaActivityRequested
DiscordPresenceMangaActivityRequestedEvent is triggered when manga activity is requested, after the [mangaActivity] is processed, and right before the activity is sent to queue. There is no guarantee as to when or if the activity will be successfully sent to discord. Note that this event is triggered every 6 seconds or so, avoid heavy processing or perform it only when the activity is changed. Prevent default to stop the activity from being sent to discord.
Can prevent default: Yes
Event Interface:
interface DiscordPresenceMangaActivityRequestedEvent {
next();
preventDefault();
mangaActivity?: DiscordRPC_MangaActivity;
details: string;
state: string;
startTimestamp?: number;
endTimestamp?: number;
largeImage: string;
largeText: string;
smallImage: string;
smallText: string;
buttons?: Array<DiscordRPC_Button>;
instance: boolean;
type: number;
}
Event types:
Example:
$app.onDiscordPresenceMangaActivityRequested((e) => {
// console.log(e.mangaActivity);
// console.log(e.details);
// console.log(e.state);
// console.log(e.startTimestamp);
// console.log(e.endTimestamp);
// console.log(e.largeImage);
// console.log(e.largeText);
// console.log(e.smallImage);
// console.log(e.smallText);
// console.log(e.buttons);
// console.log(e.instance);
// console.log(e.type);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onDiscordPresenceClientClosed
DiscordPresenceClientClosedEvent is triggered when the discord rpc client is closed.
Can prevent default: No
Event Interface:
interface DiscordPresenceClientClosedEvent {
next();
}
Example:
$app.onDiscordPresenceClientClosed((e) => {
e.next();
});
Manga
onMangaEntryRequested
MangaEntryRequestedEvent is triggered when a manga entry is requested. Prevent default to skip the default behavior and return the modified entry. If the modified entry is nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface MangaEntryRequestedEvent {
next();
preventDefault();
mediaId: number;
mangaCollection?: AL_MangaCollection;
entry?: Manga_Entry;
}
Event types:
Example:
$app.onMangaEntryRequested((e) => {
// console.log(e.mediaId);
// console.log(e.mangaCollection);
// console.log(e.entry);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMangaEntry
MangaEntryEvent is triggered when the manga entry is being returned.
Can prevent default: No
Event Interface:
interface MangaEntryEvent {
next();
entry?: Manga_Entry;
}
Event types:
Example:
$app.onMangaEntry((e) => {
// console.log(e.entry);
e.next();
});
onMangaLibraryCollectionRequested
MangaLibraryCollectionRequestedEvent is triggered when the manga library collection is being requested.
Can prevent default: No
Event Interface:
interface MangaLibraryCollectionRequestedEvent {
next();
mangaCollection?: AL_MangaCollection;
}
Event types:
Example:
$app.onMangaLibraryCollectionRequested((e) => {
// console.log(e.mangaCollection);
e.next();
});
onMangaLibraryCollection
MangaLibraryCollectionEvent is triggered when the manga library collection is being returned.
Can prevent default: No
Event Interface:
interface MangaLibraryCollectionEvent {
next();
libraryCollection?: Manga_Collection;
}
Event types:
Example:
$app.onMangaLibraryCollection((e) => {
// console.log(e.libraryCollection);
e.next();
});
onMangaDownloadedChapterContainersRequested
MangaDownloadedChapterContainersRequestedEvent is triggered when the manga downloaded chapter containers are being requested. Prevent default to skip the default behavior and return the modified chapter containers. If the modified chapter containers are nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface MangaDownloadedChapterContainersRequestedEvent {
next();
preventDefault();
mangaCollection?: AL_MangaCollection;
chapterContainers?: Array<Manga_ChapterContainer>;
}
Event types:
Example:
$app.onMangaDownloadedChapterContainersRequested((e) => {
// console.log(e.mangaCollection);
// console.log(e.chapterContainers);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMangaDownloadedChapterContainers
MangaDownloadedChapterContainersEvent is triggered when the manga downloaded chapter containers are being returned.
Can prevent default: No
Event Interface:
interface MangaDownloadedChapterContainersEvent {
next();
chapterContainers?: Array<Manga_ChapterContainer>;
}
Event types:
Example:
$app.onMangaDownloadedChapterContainers((e) => {
// console.log(e.chapterContainers);
e.next();
});
onMangaLatestChapterNumbersMap
MangaLatestChapterNumbersMapEvent is triggered when the manga latest chapter numbers map is being returned.
Can prevent default: No
Event Interface:
interface MangaLatestChapterNumbersMapEvent {
next();
latestChapterNumbersMap?: Record<number, Array<Manga_MangaLatestChapterNumberItem>>;
}
Event types:
Example:
$app.onMangaLatestChapterNumbersMap((e) => {
// console.log(e.latestChapterNumbersMap);
e.next();
});
onMangaDownloadMap
MangaDownloadMapEvent is triggered when the manga download map has been updated. This map is used to tell the client which chapters have been downloaded.
Can prevent default: No
Event Interface:
interface MangaDownloadMapEvent {
next();
mediaMap?: Manga_MediaMap;
}
Event types:
Example:
$app.onMangaDownloadMap((e) => {
// console.log(e.mediaMap);
e.next();
});
onMangaChapterContainerRequested
MangaChapterContainerRequestedEvent is triggered when the manga chapter container is being requested. This event happens before the chapter container is fetched from the cache or provider. Prevent default to skip the default behavior and return the modified chapter container. If the modified chapter container is nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface MangaChapterContainerRequestedEvent {
next();
preventDefault();
provider: string;
mediaId: number;
titles?: Array<string>;
year: number;
chapterContainer?: Manga_ChapterContainer;
}
Event types:
Example:
$app.onMangaChapterContainerRequested((e) => {
// console.log(e.provider);
// console.log(e.mediaId);
// console.log(e.titles);
// console.log(e.year);
// console.log(e.chapterContainer);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMangaChapterContainer
MangaChapterContainerEvent is triggered when the manga chapter container is being returned. This event happens after the chapter container is fetched from the cache or provider.
Can prevent default: No
Event Interface:
interface MangaChapterContainerEvent {
next();
chapterContainer?: Manga_ChapterContainer;
}
Event types:
Example:
$app.onMangaChapterContainer((e) => {
// console.log(e.chapterContainer);
e.next();
});
Mediaplayer
onMediaPlayerLocalFileTrackingRequested
MediaPlayerLocalFileTrackingRequestedEvent is triggered when the playback manager wants to track the progress of a local file. Prevent default to stop tracking.
Can prevent default: Yes
Event Interface:
interface MediaPlayerLocalFileTrackingRequestedEvent {
next();
preventDefault();
startRefreshDelay: number;
refreshDelay: number;
maxRetries: number;
}
Example:
$app.onMediaPlayerLocalFileTrackingRequested((e) => {
// console.log(e.startRefreshDelay);
// console.log(e.refreshDelay);
// console.log(e.maxRetries);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onMediaPlayerStreamTrackingRequested
MediaPlayerStreamTrackingRequestedEvent is triggered when the playback manager wants to track the progress of a stream. Prevent default to stop tracking.
Can prevent default: Yes
Event Interface:
interface MediaPlayerStreamTrackingRequestedEvent {
next();
preventDefault();
startRefreshDelay: number;
refreshDelay: number;
maxRetries: number;
maxRetriesAfterStart: number;
}
Example:
$app.onMediaPlayerStreamTrackingRequested((e) => {
// console.log(e.startRefreshDelay);
// console.log(e.refreshDelay);
// console.log(e.maxRetries);
// console.log(e.maxRetriesAfterStart);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
Metadata
onAnimeMetadataRequested
AnimeMetadataRequestedEvent is triggered when anime metadata is requested and right before the metadata is processed. This event is followed by [AnimeMetadataEvent] which is triggered when the metadata is available. Prevent default to skip the default behavior and return the modified metadata. If the modified metadata is nil, an error will be returned.
Can prevent default: Yes
Event Interface:
interface AnimeMetadataRequestedEvent {
next();
preventDefault();
mediaId: number;
animeMetadata?: Metadata_AnimeMetadata;
}
Event types:
Example:
$app.onAnimeMetadataRequested((e) => {
// console.log(e.mediaId);
// console.log(e.animeMetadata);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAnimeMetadata
AnimeMetadataEvent is triggered when anime metadata is available and is about to be returned. Anime metadata can be requested in many places, ranging from displaying the anime entry to starting a torrent stream. This event is triggered after [AnimeMetadataRequestedEvent]. If the modified metadata is nil, an error will be returned.
Can prevent default: No
Event Interface:
interface AnimeMetadataEvent {
next();
mediaId: number;
animeMetadata?: Metadata_AnimeMetadata;
}
Event types:
Example:
$app.onAnimeMetadata((e) => {
// console.log(e.mediaId);
// console.log(e.animeMetadata);
e.next();
});
onAnimeEpisodeMetadataRequested
AnimeEpisodeMetadataRequestedEvent is triggered when anime episode metadata is requested. Prevent default to skip the default behavior and return the overridden metadata. This event is triggered before [AnimeEpisodeMetadataEvent]. If the modified episode metadata is nil, an empty EpisodeMetadata object will be returned.
Can prevent default: Yes
Event Interface:
interface AnimeEpisodeMetadataRequestedEvent {
next();
preventDefault();
animeEpisodeMetadata?: Metadata_EpisodeMetadata;
episodeNumber: number;
mediaId: number;
}
Event types:
Example:
$app.onAnimeEpisodeMetadataRequested((e) => {
// console.log(e.animeEpisodeMetadata);
// console.log(e.episodeNumber);
// console.log(e.mediaId);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onAnimeEpisodeMetadata
AnimeEpisodeMetadataEvent is triggered when anime episode metadata is available and is about to be returned. In the current implementation, episode metadata is requested for display purposes. It is used to get a more complete metadata object since the original AnimeMetadata object is not complete. This event is triggered after [AnimeEpisodeMetadataRequestedEvent]. If the modified episode metadata is nil, an empty EpisodeMetadata object will be returned.
Can prevent default: No
Event Interface:
interface AnimeEpisodeMetadataEvent {
next();
animeEpisodeMetadata?: Metadata_EpisodeMetadata;
episodeNumber: number;
mediaId: number;
}
Event types:
Example:
$app.onAnimeEpisodeMetadata((e) => {
// console.log(e.animeEpisodeMetadata);
// console.log(e.episodeNumber);
// console.log(e.mediaId);
e.next();
});
PlaybackManager
onLocalFilePlaybackRequested
LocalFilePlaybackRequestedEvent is triggered when a local file is requested to be played. Prevent default to skip the default playback and override the playback.
Can prevent default: Yes
Event Interface:
interface LocalFilePlaybackRequestedEvent {
next();
preventDefault();
path: string;
}
Example:
$app.onLocalFilePlaybackRequested((e) => {
// console.log(e.path);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onStreamPlaybackRequested
StreamPlaybackRequestedEvent is triggered when a stream is requested to be played. Prevent default to skip the default playback and override the playback.
Can prevent default: Yes
Event Interface:
interface StreamPlaybackRequestedEvent {
next();
preventDefault();
windowTitle: string;
payload: string;
media?: AL_BaseAnime;
aniDbEpisode: string;
}
Event types:
Example:
$app.onStreamPlaybackRequested((e) => {
// console.log(e.windowTitle);
// console.log(e.payload);
// console.log(e.media);
// console.log(e.aniDbEpisode);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPlaybackBeforeTracking
PlaybackBeforeTrackingEvent is triggered just before the playback tracking starts. Prevent default to skip playback tracking.
Can prevent default: Yes
Event Interface:
interface PlaybackBeforeTrackingEvent {
next();
preventDefault();
isStream: boolean;
}
Example:
$app.onPlaybackBeforeTracking((e) => {
// console.log(e.isStream);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPlaybackLocalFileDetailsRequested
PlaybackLocalFileDetailsRequestedEvent is triggered when the local files details for a specific path are requested. This event is triggered right after the media player loads an episode. The playback manager uses the local files details to track the progress, propose next episodes, etc. In the current implementation, the details are fetched by selecting the local file from the database and making requests to retrieve the media and anime list entry. Prevent default to skip the default fetching and override the details.
Can prevent default: Yes
Event Interface:
interface PlaybackLocalFileDetailsRequestedEvent {
next();
preventDefault();
path: string;
localFiles?: Array<Anime_LocalFile>;
animeListEntry?: AL_AnimeListEntry;
localFile?: Anime_LocalFile;
localFileWrapperEntry?: Anime_LocalFileWrapperEntry;
}
Event types:
Example:
$app.onPlaybackLocalFileDetailsRequested((e) => {
// console.log(e.path);
// console.log(e.localFiles);
// console.log(e.animeListEntry);
// console.log(e.localFile);
// console.log(e.localFileWrapperEntry);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onPlaybackStreamDetailsRequested
PlaybackStreamDetailsRequestedEvent is triggered when the stream details are requested. Prevent default to skip the default fetching and override the details. In the current implementation, the details are fetched by selecting the anime from the anime collection. If nothing is found, the stream is still tracked.
Can prevent default: Yes
Event Interface:
interface PlaybackStreamDetailsRequestedEvent {
next();
preventDefault();
animeCollection?: AL_AnimeCollection;
mediaId: number;
animeListEntry?: AL_AnimeListEntry;
}
Event types:
Example:
$app.onPlaybackStreamDetailsRequested((e) => {
// console.log(e.animeCollection);
// console.log(e.mediaId);
// console.log(e.animeListEntry);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
Scanner
onScanStarted
ScanStartedEvent is triggered when the scanning process begins. Prevent default to skip the rest of the scanning process and return the local files.
Can prevent default: Yes
Event Interface:
interface ScanStartedEvent {
next();
preventDefault();
libraryPath: string;
otherLibraryPaths?: Array<string>;
enhanced: boolean;
skipLocked: boolean;
skipIgnored: boolean;
localFiles?: Array<Anime_LocalFile>;
}
Event types:
Example:
$app.onScanStarted((e) => {
// console.log(e.libraryPath);
// console.log(e.otherLibraryPaths);
// console.log(e.enhanced);
// console.log(e.skipLocked);
// console.log(e.skipIgnored);
// console.log(e.localFiles);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onScanFilePathsRetrieved
ScanFilePathsRetrievedEvent is triggered when the file paths to scan are retrieved. The event includes file paths from all directories to scan. The event includes file paths of local files that will be skipped.
Can prevent default: No
Event Interface:
interface ScanFilePathsRetrievedEvent {
next();
filePaths?: Array<string>;
}
Example:
$app.onScanFilePathsRetrieved((e) => {
// console.log(e.filePaths);
e.next();
});
onScanLocalFilesParsed
ScanLocalFilesParsedEvent is triggered right after the file paths are parsed into local file objects. The event does not include local files that are skipped.
Can prevent default: No
Event Interface:
interface ScanLocalFilesParsedEvent {
next();
localFiles?: Array<Anime_LocalFile>;
}
Event types:
Example:
$app.onScanLocalFilesParsed((e) => {
// console.log(e.localFiles);
e.next();
});
onScanCompleted
ScanCompletedEvent is triggered when the scanning process finishes. The event includes all the local files (skipped and scanned) to be inserted as a new entry. Right after this event, the local files will be inserted as a new entry.
Can prevent default: No
Event Interface:
interface ScanCompletedEvent {
next();
localFiles?: Array<Anime_LocalFile>;
/**
* in milliseconds
*/
duration: number;
}
Event types:
Example:
$app.onScanCompleted((e) => {
// console.log(e.localFiles);
// console.log(e.duration);
e.next();
});
onScanMediaFetcherStarted
ScanMediaFetcherStartedEvent is triggered right before Seanime starts fetching media to be matched against the local files.
Can prevent default: No
Event Interface:
interface ScanMediaFetcherStartedEvent {
next();
enhanced: boolean;
}
Example:
$app.onScanMediaFetcherStarted((e) => {
// console.log(e.enhanced);
e.next();
});
onScanMediaFetcherCompleted
ScanMediaFetcherCompletedEvent is triggered when the media fetcher completes. The event includes all the media fetched from AniList. The event includes the media IDs that are not in the user's collection.
Can prevent default: No
Event Interface:
interface ScanMediaFetcherCompletedEvent {
next();
allMedia?: Array<AL_CompleteAnime>;
unknownMediaIds?: Array<number>;
}
Event types:
Example:
$app.onScanMediaFetcherCompleted((e) => {
// console.log(e.allMedia);
// console.log(e.unknownMediaIds);
e.next();
});
onScanMatchingStarted
ScanMatchingStartedEvent is triggered when the matching process begins. Prevent default to skip the default matching, in which case modified local files will be used.
Can prevent default: Yes
Event Interface:
interface ScanMatchingStartedEvent {
next();
preventDefault();
localFiles?: Array<Anime_LocalFile>;
normalizedMedia?: Array<Anime_NormalizedMedia>;
algorithm: string;
threshold: number;
}
Event types:
Example:
$app.onScanMatchingStarted((e) => {
// console.log(e.localFiles);
// console.log(e.normalizedMedia);
// console.log(e.algorithm);
// console.log(e.threshold);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onScanLocalFileMatched
ScanLocalFileMatchedEvent is triggered when a local file is matched with media and before the match is analyzed. Prevent default to skip the default analysis and override the match.
Can prevent default: Yes
Event Interface:
interface ScanLocalFileMatchedEvent {
next();
preventDefault();
match?: Anime_NormalizedMedia;
found: boolean;
localFile?: Anime_LocalFile;
score: number;
}
Event types:
Example:
$app.onScanLocalFileMatched((e) => {
// console.log(e.match);
// console.log(e.found);
// console.log(e.localFile);
// console.log(e.score);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onScanMatchingCompleted
ScanMatchingCompletedEvent is triggered when the matching process completes.
Can prevent default: No
Event Interface:
interface ScanMatchingCompletedEvent {
next();
localFiles?: Array<Anime_LocalFile>;
}
Event types:
Example:
$app.onScanMatchingCompleted((e) => {
// console.log(e.localFiles);
e.next();
});
onScanHydrationStarted
ScanHydrationStartedEvent is triggered when the file hydration process begins. Prevent default to skip the rest of the hydration process, in which case the event's local files will be used.
Can prevent default: Yes
Event Interface:
interface ScanHydrationStartedEvent {
next();
preventDefault();
localFiles?: Array<Anime_LocalFile>;
allMedia?: Array<Anime_NormalizedMedia>;
}
Event types:
Example:
$app.onScanHydrationStarted((e) => {
// console.log(e.localFiles);
// console.log(e.allMedia);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onScanLocalFileHydrationStarted
ScanLocalFileHydrationStartedEvent is triggered when a local file's metadata is about to be hydrated. Prevent default to skip the default hydration and override the hydration.
Can prevent default: Yes
Event Interface:
interface ScanLocalFileHydrationStartedEvent {
next();
preventDefault();
localFile?: Anime_LocalFile;
media?: Anime_NormalizedMedia;
}
Event types:
Example:
$app.onScanLocalFileHydrationStarted((e) => {
// console.log(e.localFile);
// console.log(e.media);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
onScanLocalFileHydrated
ScanLocalFileHydratedEvent is triggered when a local file's metadata is hydrated
Can prevent default: No
Event Interface:
interface ScanLocalFileHydratedEvent {
next();
localFile?: Anime_LocalFile;
mediaId: number;
episode: number;
}
Event types:
Example:
$app.onScanLocalFileHydrated((e) => {
// console.log(e.localFile);
// console.log(e.mediaId);
// console.log(e.episode);
e.next();
});
Torrentstream
onTorrentStreamAutoSelectTorrentsFetched
TorrentStreamAutoSelectTorrentsFetchedEvent is triggered when the torrents are fetched for auto select. The torrents are sorted by seeders from highest to lowest. This event is triggered before the top 3 torrents are analyzed.
Can prevent default: No
Event Interface:
interface TorrentStreamAutoSelectTorrentsFetchedEvent {
next();
Torrents?: Array<HibikeTorrent_AnimeTorrent>;
}
Event types:
Example:
$app.onTorrentStreamAutoSelectTorrentsFetched((e) => {
// console.log(e.Torrents);
e.next();
});
onTorrentStreamSendStreamToMediaPlayer
TorrentStreamSendStreamToMediaPlayerEvent is triggered when the torrent stream is about to send a stream to the media player. Prevent default to skip the default playback and override the playback.
Can prevent default: Yes
Event Interface:
interface TorrentStreamSendStreamToMediaPlayerEvent {
next();
preventDefault();
windowTitle: string;
streamURL: string;
media?: AL_BaseAnime;
aniDbEpisode: string;
playbackType: string;
}
Event types:
Example:
$app.onTorrentStreamSendStreamToMediaPlayer((e) => {
// console.log(e.windowTitle);
// console.log(e.streamURL);
// console.log(e.media);
// console.log(e.aniDbEpisode);
// console.log(e.playbackType);
// Prevent default behavior if needed
// e.preventDefault();
e.next();
});
Referenced Types
AL_AnimeCollection
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
MediaListCollection | AL_AnimeCollection_MediaListCollection | - |
AL_AnimeCollectionWithRelations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
MediaListCollection | AL_AnimeCollectionWithRelations_MediaListCollection | - |
AL_AnimeCollectionWithRelations_MediaListCollection
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
lists | Array<AL_AnimeCollectionWithRelations_MediaListCollection_Lists> | - |
AL_AnimeCollectionWithRelations_MediaListCollection_Lists
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
status | AL_MediaListStatus | - |
name | string | - |
isCustomList | boolean | - |
entries | Array<AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries> | - |
AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
score | number | - |
progress | number | - |
status | AL_MediaListStatus | - |
notes | string | - |
repeat | number | - |
private | boolean | - |
startedAt | AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries_StartedAt | - |
completedAt | AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries_CompletedAt | - |
media | AL_CompleteAnime | - |
AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries_CompletedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeCollectionWithRelations_MediaListCollection_Lists_Entries_StartedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeCollection_MediaListCollection
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
lists | Array<AL_AnimeCollection_MediaListCollection_Lists> | - |
AL_AnimeCollection_MediaListCollection_Lists
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
status | AL_MediaListStatus | - |
name | string | - |
isCustomList | boolean | - |
entries | Array<AL_AnimeCollection_MediaListCollection_Lists_Entries> | - |
AL_AnimeCollection_MediaListCollection_Lists_Entries
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
score | number | - |
progress | number | - |
status | AL_MediaListStatus | - |
notes | string | - |
repeat | number | - |
private | boolean | - |
startedAt | AL_AnimeCollection_MediaListCollection_Lists_Entries_StartedAt | - |
completedAt | AL_AnimeCollection_MediaListCollection_Lists_Entries_CompletedAt | - |
media | AL_BaseAnime | - |
AL_AnimeCollection_MediaListCollection_Lists_Entries_CompletedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeCollection_MediaListCollection_Lists_Entries_StartedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeDetailsById_Media
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
siteUrl | string | - |
id | number | - |
duration | number | - |
genres | Array<string> | - |
averageScore | number | - |
popularity | number | - |
meanScore | number | - |
description | string | - |
trailer | AL_AnimeDetailsById_Media_Trailer | - |
startDate | AL_AnimeDetailsById_Media_StartDate | - |
endDate | AL_AnimeDetailsById_Media_EndDate | - |
studios | AL_AnimeDetailsById_Media_Studios | - |
characters | AL_AnimeDetailsById_Media_Characters | - |
staff | AL_AnimeDetailsById_Media_Staff | - |
rankings | Array<AL_AnimeDetailsById_Media_Rankings> | - |
recommendations | AL_AnimeDetailsById_Media_Recommendations | - |
relations | AL_AnimeDetailsById_Media_Relations | - |
AL_AnimeDetailsById_Media_Characters
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_AnimeDetailsById_Media_Characters_Edges> | - |
AL_AnimeDetailsById_Media_Characters_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
role | AL_CharacterRole | - |
name | string | - |
node | AL_BaseCharacter | - |
AL_AnimeDetailsById_Media_EndDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeDetailsById_Media_Rankings
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
context | string | - |
type | AL_MediaRankType | - |
rank | number | - |
year | number | - |
format | AL_MediaFormat | - |
allTime | boolean | - |
season | AL_MediaSeason | - |
AL_AnimeDetailsById_Media_Recommendations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_AnimeDetailsById_Media_Recommendations_Edges> | - |
AL_AnimeDetailsById_Media_Recommendations_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
node | AL_AnimeDetailsById_Media_Recommendations_Edges_Node | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
mediaRecommendation | AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
isAdult | boolean | - |
season | AL_MediaSeason | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
meanScore | number | - |
description | string | - |
episodes | number | - |
trailer | AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Trailer | - |
startDate | AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_StartDate | - |
coverImage | AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_CoverImage | - |
bannerImage | string | - |
title | AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Title | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_CoverImage
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
extraLarge | string | - |
large | string | - |
medium | string | - |
color | string | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Title
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
romaji | string | - |
english | string | - |
native | string | - |
userPreferred | string | - |
AL_AnimeDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Trailer
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | string | - |
site | string | - |
thumbnail | string | - |
AL_AnimeDetailsById_Media_Relations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_AnimeDetailsById_Media_Relations_Edges> | - |
AL_AnimeDetailsById_Media_Relations_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
relationType | AL_MediaRelation | - |
node | AL_BaseAnime | - |
AL_AnimeDetailsById_Media_Staff
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_AnimeDetailsById_Media_Staff_Edges> | - |
AL_AnimeDetailsById_Media_Staff_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
role | string | - |
node | AL_AnimeDetailsById_Media_Staff_Edges_Node | - |
AL_AnimeDetailsById_Media_Staff_Edges_Node
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
name | AL_AnimeDetailsById_Media_Staff_Edges_Node_Name | - |
id | number | - |
AL_AnimeDetailsById_Media_Staff_Edges_Node_Name
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
full | string | - |
AL_AnimeDetailsById_Media_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_AnimeDetailsById_Media_Studios
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
nodes | Array<AL_AnimeDetailsById_Media_Studios_Nodes> | - |
AL_AnimeDetailsById_Media_Studios_Nodes
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
name | string | - |
id | number | - |
AL_AnimeDetailsById_Media_Trailer
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | string | - |
site | string | - |
thumbnail | string | - |
AL_AnimeListEntry
Filepath: internal/api/anilist/collection_helper.go
AL_AnimeCollection_MediaListCollection_Lists_Entries
AL_BaseAnime
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
season | AL_MediaSeason | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
seasonYear | number | - |
bannerImage | string | - |
episodes | number | - |
synonyms | Array<string> | - |
isAdult | boolean | - |
countryOfOrigin | string | - |
meanScore | number | - |
description | string | - |
genres | Array<string> | - |
duration | number | - |
trailer | AL_BaseAnime_Trailer | - |
title | AL_BaseAnime_Title | - |
coverImage | AL_BaseAnime_CoverImage | - |
startDate | AL_BaseAnime_StartDate | - |
endDate | AL_BaseAnime_EndDate | - |
nextAiringEpisode | AL_BaseAnime_NextAiringEpisode | - |
AL_BaseAnime_CoverImage
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
extraLarge | string | - |
large | string | - |
medium | string | - |
color | string | - |
AL_BaseAnime_EndDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_BaseAnime_NextAiringEpisode
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
airingAt | number | - |
timeUntilAiring | number | - |
episode | number | - |
AL_BaseAnime_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_BaseAnime_Title
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
userPreferred | string | - |
romaji | string | - |
english | string | - |
native | string | - |
AL_BaseAnime_Trailer
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | string | - |
site | string | - |
thumbnail | string | - |
AL_BaseCharacter
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
isFavourite | boolean | - |
gender | string | - |
age | string | - |
dateOfBirth | AL_BaseCharacter_DateOfBirth | - |
name | AL_BaseCharacter_Name | - |
image | AL_BaseCharacter_Image | - |
description | string | - |
siteUrl | string | - |
AL_BaseCharacter_DateOfBirth
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_BaseCharacter_Image
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
large | string | - |
AL_BaseCharacter_Name
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
full | string | - |
native | string | - |
alternative | Array<string> | - |
AL_BaseManga
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
season | AL_MediaSeason | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
bannerImage | string | - |
chapters | number | - |
volumes | number | - |
synonyms | Array<string> | - |
isAdult | boolean | - |
countryOfOrigin | string | - |
meanScore | number | - |
description | string | - |
genres | Array<string> | - |
title | AL_BaseManga_Title | - |
coverImage | AL_BaseManga_CoverImage | - |
startDate | AL_BaseManga_StartDate | - |
endDate | AL_BaseManga_EndDate | - |
AL_BaseManga_CoverImage
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
extraLarge | string | - |
large | string | - |
medium | string | - |
color | string | - |
AL_BaseManga_EndDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_BaseManga_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_BaseManga_Title
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
userPreferred | string | - |
romaji | string | - |
english | string | - |
native | string | - |
AL_CharacterRole
Filepath: internal/api/anilist/models_gen.go
"MAIN" | "SUPPORTING" | "BACKGROUND"
AL_CompleteAnime
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
season | AL_MediaSeason | - |
seasonYear | number | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
bannerImage | string | - |
episodes | number | - |
synonyms | Array<string> | - |
isAdult | boolean | - |
countryOfOrigin | string | - |
meanScore | number | - |
description | string | - |
genres | Array<string> | - |
duration | number | - |
trailer | AL_CompleteAnime_Trailer | - |
title | AL_CompleteAnime_Title | - |
coverImage | AL_CompleteAnime_CoverImage | - |
startDate | AL_CompleteAnime_StartDate | - |
endDate | AL_CompleteAnime_EndDate | - |
nextAiringEpisode | AL_CompleteAnime_NextAiringEpisode | - |
relations | AL_CompleteAnime_Relations | - |
AL_CompleteAnime_CoverImage
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
extraLarge | string | - |
large | string | - |
medium | string | - |
color | string | - |
AL_CompleteAnime_EndDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_CompleteAnime_NextAiringEpisode
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
airingAt | number | - |
timeUntilAiring | number | - |
episode | number | - |
AL_CompleteAnime_Relations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_CompleteAnime_Relations_Edges> | - |
AL_CompleteAnime_Relations_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
relationType | AL_MediaRelation | - |
node | AL_BaseAnime | - |
AL_CompleteAnime_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_CompleteAnime_Title
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
userPreferred | string | - |
romaji | string | - |
english | string | - |
native | string | - |
AL_CompleteAnime_Trailer
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | string | - |
site | string | - |
thumbnail | string | - |
AL_FuzzyDateInput
Filepath: internal/api/anilist/models_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_ListAnime
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
Page | AL_ListAnime_Page | - |
AL_ListAnime_Page
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
pageInfo | AL_ListAnime_Page_PageInfo | - |
media | Array<AL_BaseAnime> | - |
AL_ListAnime_Page_PageInfo
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
hasNextPage | boolean | - |
total | number | - |
perPage | number | - |
currentPage | number | - |
lastPage | number | - |
AL_ListManga
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
Page | AL_ListManga_Page | - |
AL_ListManga_Page
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
pageInfo | AL_ListManga_Page_PageInfo | - |
media | Array<AL_BaseManga> | - |
AL_ListManga_Page_PageInfo
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
hasNextPage | boolean | - |
total | number | - |
perPage | number | - |
currentPage | number | - |
lastPage | number | - |
AL_ListRecentAnime
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
Page | AL_ListRecentAnime_Page | - |
AL_ListRecentAnime_Page
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
pageInfo | AL_ListRecentAnime_Page_PageInfo | - |
airingSchedules | Array<AL_ListRecentAnime_Page_AiringSchedules> | - |
AL_ListRecentAnime_Page_AiringSchedules
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
airingAt | number | - |
episode | number | - |
timeUntilAiring | number | - |
media | AL_BaseAnime | - |
AL_ListRecentAnime_Page_PageInfo
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
hasNextPage | boolean | - |
total | number | - |
perPage | number | - |
currentPage | number | - |
lastPage | number | - |
AL_MangaCollection
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
MediaListCollection | AL_MangaCollection_MediaListCollection | - |
AL_MangaCollection_MediaListCollection
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
lists | Array<AL_MangaCollection_MediaListCollection_Lists> | - |
AL_MangaCollection_MediaListCollection_Lists
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
status | AL_MediaListStatus | - |
name | string | - |
isCustomList | boolean | - |
entries | Array<AL_MangaCollection_MediaListCollection_Lists_Entries> | - |
AL_MangaCollection_MediaListCollection_Lists_Entries
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
score | number | - |
progress | number | - |
status | AL_MediaListStatus | - |
notes | string | - |
repeat | number | - |
private | boolean | - |
startedAt | AL_MangaCollection_MediaListCollection_Lists_Entries_StartedAt | - |
completedAt | AL_MangaCollection_MediaListCollection_Lists_Entries_CompletedAt | - |
media | AL_BaseManga | - |
AL_MangaCollection_MediaListCollection_Lists_Entries_CompletedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_MangaCollection_MediaListCollection_Lists_Entries_StartedAt
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_MangaDetailsById_Media
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
siteUrl | string | - |
id | number | - |
duration | number | - |
genres | Array<string> | - |
rankings | Array<AL_MangaDetailsById_Media_Rankings> | - |
characters | AL_MangaDetailsById_Media_Characters | - |
recommendations | AL_MangaDetailsById_Media_Recommendations | - |
relations | AL_MangaDetailsById_Media_Relations | - |
AL_MangaDetailsById_Media_Characters
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_MangaDetailsById_Media_Characters_Edges> | - |
AL_MangaDetailsById_Media_Characters_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
role | AL_CharacterRole | - |
name | string | - |
node | AL_BaseCharacter | - |
AL_MangaDetailsById_Media_Rankings
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
context | string | - |
type | AL_MediaRankType | - |
rank | number | - |
year | number | - |
format | AL_MediaFormat | - |
allTime | boolean | - |
season | AL_MediaSeason | - |
AL_MangaDetailsById_Media_Recommendations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_MangaDetailsById_Media_Recommendations_Edges> | - |
AL_MangaDetailsById_Media_Recommendations_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
node | AL_MangaDetailsById_Media_Recommendations_Edges_Node | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
mediaRecommendation | AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
season | AL_MediaSeason | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
bannerImage | string | - |
chapters | number | - |
volumes | number | - |
synonyms | Array<string> | - |
isAdult | boolean | - |
countryOfOrigin | string | - |
meanScore | number | - |
description | string | - |
title | AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Title | - |
coverImage | AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_CoverImage | - |
startDate | AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_StartDate | - |
endDate | AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_EndDate | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_CoverImage
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
extraLarge | string | - |
large | string | - |
medium | string | - |
color | string | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_EndDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_StartDate
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
year | number | - |
month | number | - |
day | number | - |
AL_MangaDetailsById_Media_Recommendations_Edges_Node_MediaRecommendation_Title
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
userPreferred | string | - |
romaji | string | - |
english | string | - |
native | string | - |
AL_MangaDetailsById_Media_Relations
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
edges | Array<AL_MangaDetailsById_Media_Relations_Edges> | - |
AL_MangaDetailsById_Media_Relations_Edges
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
relationType | AL_MediaRelation | - |
node | AL_BaseManga | - |
AL_MediaFormat
Filepath: internal/api/anilist/models_gen.go
"TV" | "TV_SHORT" | "MOVIE" | "SPECIAL" | "OVA" | "ONA" | "MUSIC" | "MANGA" | "NOVEL" | "ONE_SHOT"
AL_MediaListStatus
Filepath: internal/api/anilist/models_gen.go
"CURRENT" | "PLANNING" | "COMPLETED" | "DROPPED" | "PAUSED" | "REPEATING"
AL_MediaRankType
Filepath: internal/api/anilist/models_gen.go
"RATED" | "POPULAR"
AL_MediaRelation
Filepath: internal/api/anilist/models_gen.go
"ADAPTATION" | "PREQUEL" | "SEQUEL" | "PARENT" | "SIDE_STORY" | "CHARACTER" | "SUMMARY" | "ALTERNATIVE" | "SPIN_OFF" | "OTHER" | "SOURCE" | "COMPILATION" | "CONTAINS"
AL_MediaSeason
Filepath: internal/api/anilist/models_gen.go
"WINTER" | "SPRING" | "SUMMER" | "FALL"
AL_MediaSort
Filepath: internal/api/anilist/models_gen.go
"ID" | "ID_DESC" | "TITLE_ROMAJI" | "TITLE_ROMAJI_DESC" | "TITLE_ENGLISH" | "TITLE_ENGLISH_DESC" | "TITLE_NATIVE" | "TITLE_NATIVE_DESC" | "TYPE" | "TYPE_DESC" | "FORMAT" | "FORMAT_DESC" | "START_DATE" | "START_DATE_DESC" | "END_DATE" | "END_DATE_DESC" | "SCORE" | "SCORE_DESC" | "POPULARITY" | "POPULARITY_DESC" | "TRENDING" | "TRENDING_DESC" | "EPISODES" | "EPISODES_DESC" | "DURATION" | "DURATION_DESC" | "STATUS" | "STATUS_DESC" | "CHAPTERS" | "CHAPTERS_DESC" | "VOLUMES" | "VOLUMES_DESC" | "UPDATED_AT" | "UPDATED_AT_DESC" | "SEARCH_MATCH" | "FAVOURITES" | "FAVOURITES_DESC"
AL_MediaStatus
Filepath: internal/api/anilist/models_gen.go
"FINISHED" | "RELEASING" | "NOT_YET_RELEASED" | "CANCELLED" | "HIATUS"
AL_MediaType
Filepath: internal/api/anilist/models_gen.go
"ANIME" | "MANGA"
AL_StudioDetails
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
Studio | AL_StudioDetails_Studio | - |
AL_StudioDetails_Studio
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
isAnimationStudio | boolean | - |
name | string | - |
media | AL_StudioDetails_Studio_Media | - |
AL_StudioDetails_Studio_Media
Filepath: internal/api/anilist/client_gen.go
Fields:
Property | Type | Description |
---|---|---|
nodes | Array<AL_BaseAnime> | - |
Anime_AutoDownloaderRule
Filepath: internal/library/anime/autodownloader_rule.go
Fields:
Property | Type | Description |
---|---|---|
dbId | number | Will be set when fetched from the database |
enabled | boolean | - |
mediaId | number | - |
releaseGroups | Array<string> | - |
resolutions | Array<string> | - |
comparisonTitle | string | - |
titleComparisonType | Anime_AutoDownloaderRuleTitleComparisonType | - |
episodeType | Anime_AutoDownloaderRuleEpisodeType | - |
episodeNumbers | Array<number> | - |
destination | string | - |
additionalTerms | Array<string> | - |
Anime_AutoDownloaderRuleEpisodeType
Filepath: internal/library/anime/autodownloader_rule.go
"recent" | "selected"
Anime_AutoDownloaderRuleTitleComparisonType
Filepath: internal/library/anime/autodownloader_rule.go
"contains" | "likely"
Anime_Entry
Filepath: internal/library/anime/entry.go
Fields:
Property | Type | Description |
---|---|---|
mediaId | number | - |
media | AL_BaseAnime | - |
listData | Anime_EntryListData | - |
libraryData | Anime_EntryLibraryData | - |
downloadInfo | Anime_EntryDownloadInfo | - |
episodes | Array<Anime_Episode> | - |
nextEpisode | Anime_Episode | - |
localFiles | Array<Anime_LocalFile> | - |
anidbId | number | - |
currentEpisodeCount | number | - |
Anime_EntryDownloadEpisode
Filepath: internal/library/anime/entry_download_info.go
Fields:
Property | Type | Description |
---|---|---|
episodeNumber | number | - |
aniDBEpisode | string | - |
episode | Anime_Episode | - |
Anime_EntryDownloadInfo
Filepath: internal/library/anime/entry_download_info.go
Fields:
Property | Type | Description |
---|---|---|
episodesToDownload | Array<Anime_EntryDownloadEpisode> | - |
canBatch | boolean | - |
batchAll | boolean | - |
hasInaccurateSchedule | boolean | - |
rewatch | boolean | - |
absoluteOffset | number | - |
Anime_EntryLibraryData
Filepath: internal/library/anime/entry_library_data.go
Fields:
Property | Type | Description |
---|---|---|
allFilesLocked | boolean | - |
sharedPath | string | - |
unwatchedCount | number | - |
mainFileCount | number | - |
Anime_EntryListData
Filepath: internal/library/anime/entry.go
Fields:
Property | Type | Description |
---|---|---|
progress | number | - |
score | number | - |
status | AL_MediaListStatus | - |
repeat | number | - |
startedAt | string | - |
completedAt | string | - |
Anime_Episode
Filepath: internal/library/anime/episode.go
Fields:
Property | Type | Description |
---|---|---|
type | Anime_LocalFileType | - |
displayTitle | string | e.g, Show: "Episode 1", Movie: "Violet Evergarden The Movie" |
episodeTitle | string | e.g, "Shibuya Incident - Gate, Open" |
episodeNumber | number | - |
aniDBEpisode | string | AniDB episode number |
absoluteEpisodeNumber | number | - |
progressNumber | number | Usually the same as EpisodeNumber, unless there is a discrepancy between AniList and AniDB |
localFile | Anime_LocalFile | - |
isDownloaded | boolean | Is in the local files |
episodeMetadata | Anime_EpisodeMetadata | (image, airDate, length, summary, overview) |
fileMetadata | Anime_LocalFileMetadata | (episode, aniDBEpisode, type...) |
isInvalid | boolean | No AniDB data |
metadataIssue | string | Alerts the user that there is a discrepancy between AniList and AniDB |
baseAnime | AL_BaseAnime | - |
Anime_EpisodeMetadata
Filepath: internal/library/anime/episode.go
Fields:
Property | Type | Description |
---|---|---|
anidbId | number | - |
image | string | - |
airDate | string | - |
length | number | - |
summary | string | - |
overview | string | - |
isFiller | boolean | - |
Anime_LibraryCollection
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
continueWatchingList | Array<Anime_Episode> | - |
lists | Array<Anime_LibraryCollectionList> | - |
unmatchedLocalFiles | Array<Anime_LocalFile> | - |
unmatchedGroups | Array<Anime_UnmatchedGroup> | - |
ignoredLocalFiles | Array<Anime_LocalFile> | - |
unknownGroups | Array<Anime_UnknownGroup> | - |
stats | Anime_LibraryCollectionStats | - |
stream | Anime_StreamCollection | Hydrated by the route handler |
Anime_LibraryCollectionEntry
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
media | AL_BaseAnime | - |
mediaId | number | - |
libraryData | Anime_EntryLibraryData | Library data |
listData | Anime_EntryListData | AniList list data |
Anime_LibraryCollectionList
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
type | AL_MediaListStatus | - |
status | AL_MediaListStatus | - |
entries | Array<Anime_LibraryCollectionEntry> | - |
Anime_LibraryCollectionStats
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
totalEntries | number | - |
totalFiles | number | - |
totalShows | number | - |
totalMovies | number | - |
totalSpecials | number | - |
totalSize | string | - |
Anime_LocalFile
Filepath: internal/library/anime/localfile.go
Fields:
Property | Type | Description |
---|---|---|
path | string | - |
name | string | - |
parsedInfo | Anime_LocalFileParsedData | - |
parsedFolderInfo | Array<Anime_LocalFileParsedData> | - |
metadata | Anime_LocalFileMetadata | - |
locked | boolean | - |
ignored | boolean | Unused for now |
mediaId | number | - |
Anime_LocalFileMetadata
Filepath: internal/library/anime/localfile.go
Fields:
Property | Type | Description |
---|---|---|
episode | number | - |
aniDBEpisode | string | - |
type | Anime_LocalFileType | - |
Anime_LocalFileParsedData
Filepath: internal/library/anime/localfile.go
Fields:
Property | Type | Description |
---|---|---|
original | string | - |
title | string | - |
releaseGroup | string | - |
season | string | - |
seasonRange | Array<string> | - |
part | string | - |
partRange | Array<string> | - |
episode | string | - |
episodeRange | Array<string> | - |
episodeTitle | string | - |
year | string | - |
Anime_LocalFileType
Filepath: internal/library/anime/localfile.go
"main" | "special" | "nc"
Anime_LocalFileWrapperEntry
Filepath: internal/library/anime/localfile_wrapper.go
Fields:
Property | Type | Description |
---|---|---|
mediaId | number | - |
localFiles | Array<Anime_LocalFile> | - |
Anime_MissingEpisodes
Filepath: internal/library/anime/missing_episodes.go
Fields:
Property | Type | Description |
---|---|---|
episodes | Array<Anime_Episode> | - |
silencedEpisodes | Array<Anime_Episode> | - |
Anime_NormalizedMedia
Filepath: internal/library/anime/normalized_media.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
idMal | number | - |
siteUrl | string | - |
status | AL_MediaStatus | - |
season | AL_MediaSeason | - |
type | AL_MediaType | - |
format | AL_MediaFormat | - |
seasonYear | number | - |
bannerImage | string | - |
episodes | number | - |
synonyms | Array<string> | - |
isAdult | boolean | - |
countryOfOrigin | string | - |
meanScore | number | - |
description | string | - |
genres | Array<string> | - |
duration | number | - |
trailer | AL_BaseAnime_Trailer | - |
title | AL_BaseAnime_Title | - |
coverImage | AL_BaseAnime_CoverImage | - |
startDate | AL_BaseAnime_StartDate | - |
endDate | AL_BaseAnime_EndDate | - |
nextAiringEpisode | AL_BaseAnime_NextAiringEpisode | - |
Anime_StreamCollection
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
continueWatchingList | Array<Anime_Episode> | - |
anime | Array<AL_BaseAnime> | - |
listData | Record<number, Anime_EntryListData> | - |
Anime_UnknownGroup
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
mediaId | number | - |
localFiles | Array<Anime_LocalFile> | - |
Anime_UnmatchedGroup
Filepath: internal/library/anime/collection.go
Fields:
Property | Type | Description |
---|---|---|
dir | string | - |
localFiles | Array<Anime_LocalFile> | - |
suggestions | Array<AL_BaseAnime> | - |
AutoDownloader_NormalizedTorrent
Filepath: internal/library/autodownloader/autodownloader_torrent.go
Fields:
Property | Type | Description |
---|---|---|
parsedData | Habari_Metadata | - |
magnet | string | Access using GetMagnet() |
provider | string | - |
name | string | - |
date | string | - |
size | number | - |
formattedSize | string | - |
seeders | number | - |
leechers | number | - |
downloadCount | number | - |
link | string | - |
downloadUrl | string | - |
magnetLink | string | - |
infoHash | string | - |
resolution | string | - |
isBatch | boolean | - |
episodeNumber | number | - |
releaseGroup | string | - |
isBestRelease | boolean | - |
confirmed | boolean | - |
Continuity_Kind
Filepath: internal/continuity/manager.go
"onlinestream" | "mediastream" | "external_player"
Continuity_UpdateWatchHistoryItemOptions
Filepath: internal/continuity/history.go
Fields:
Property | Type | Description |
---|---|---|
currentTime | number | - |
duration | number | - |
mediaId | number | - |
episodeNumber | number | - |
filepath | string | - |
kind | Continuity_Kind | - |
Continuity_WatchHistory
Filepath: internal/continuity/history.go
Record<number, Continuity_WatchHistoryItem>
Continuity_WatchHistoryItem
Filepath: internal/continuity/history.go
Fields:
Property | Type | Description |
---|---|---|
kind | Continuity_Kind | - |
filepath | string | - |
mediaId | number | - |
episodeNumber | number | - |
currentTime | number | - |
duration | number | - |
timeAdded | string | - |
timeUpdated | string | - |
Continuity_WatchHistoryItemResponse
Filepath: internal/continuity/history.go
Fields:
Property | Type | Description |
---|---|---|
item | Continuity_WatchHistoryItem | - |
found | boolean | - |
DiscordRPC_AnimeActivity
Filepath: internal/discordrpc/presence/presence.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
title | string | - |
image | string | - |
isMovie | boolean | - |
episodeNumber | number | - |
paused | boolean | - |
progress | number | - |
duration | number | - |
totalEpisodes | number | - |
currentEpisodeCount | number | - |
episodeTitle | string | - |
DiscordRPC_Button
Filepath: internal/discordrpc/client/activity.go
Fields:
Property | Type | Description |
---|---|---|
label | string | - |
url | string | - |
DiscordRPC_LegacyAnimeActivity
Filepath: internal/discordrpc/presence/presence.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
title | string | - |
image | string | - |
isMovie | boolean | - |
episodeNumber | number | - |
DiscordRPC_MangaActivity
Filepath: internal/discordrpc/presence/presence.go
Fields:
Property | Type | Description |
---|---|---|
id | number | - |
title | string | - |
image | string | - |
chapter | string | - |
HibikeManga_ChapterDetails
Filepath: internal/extension/hibike/manga/types.go
Fields:
Property | Type | Description |
---|---|---|
provider | string | - |
id | string | - |
url | string | - |
title | string | - |
chapter | string | - |
index | number | - |
scanlator | string | - |
language | string | - |
rating | number | - |
updatedAt | string | - |
HibikeTorrent_AnimeTorrent
Filepath: internal/extension/hibike/torrent/types.go
Fields:
Property | Type | Description |
---|---|---|
provider | string | - |
name | string | - |
date | string | - |
size | number | - |
formattedSize | string | - |
seeders | number | - |
leechers | number | - |
downloadCount | number | - |
link | string | - |
downloadUrl | string | - |
magnetLink | string | - |
infoHash | string | - |
resolution | string | - |
isBatch | boolean | - |
episodeNumber | number | - |
releaseGroup | string | - |
isBestRelease | boolean | - |
confirmed | boolean | - |
Manga_ChapterContainer
Filepath: internal/manga/chapter_container.go
Fields:
Property | Type | Description |
---|---|---|
mediaId | number | - |
provider | string | - |
chapters | Array<HibikeManga_ChapterDetails> | - |
Manga_Collection
Filepath: internal/manga/collection.go
Fields:
Property | Type | Description |
---|---|---|
lists | Array<Manga_CollectionList> | - |
Manga_CollectionEntry
Filepath: internal/manga/collection.go
Fields:
Property | Type | Description |
---|---|---|
media | AL_BaseManga | - |
mediaId | number | - |
listData | Manga_EntryListData | AniList list data |
Manga_CollectionList
Filepath: internal/manga/collection.go
Fields:
Property | Type | Description |
---|---|---|
type | AL_MediaListStatus | - |
status | AL_MediaListStatus | - |
entries | Array<Manga_CollectionEntry> | - |
Manga_Entry
Filepath: internal/manga/manga_entry.go
Fields:
Property | Type | Description |
---|---|---|
mediaId | number | - |
media | AL_BaseManga | - |
listData | Manga_EntryListData | - |
Manga_EntryListData
Filepath: internal/manga/manga_entry.go
Fields:
Property | Type | Description |
---|---|---|
progress | number | - |
score | number | - |
status | AL_MediaListStatus | - |
repeat | number | - |
startedAt | string | - |
completedAt | string | - |
Manga_MangaLatestChapterNumberItem
Filepath: internal/manga/chapter_container.go
Fields:
Property | Type | Description |
---|---|---|
provider | string | - |
scanlator | string | - |
language | string | - |
number | number | - |
Manga_MediaMap
Filepath: internal/manga/download.go
Record<number, Manga_ProviderDownloadMap>
Manga_ProviderDownloadMap
Filepath: internal/manga/download.go
Record<string, Array<Manga_ProviderDownloadMapChapterInfo>>
Manga_ProviderDownloadMapChapterInfo
Filepath: internal/manga/download.go
Fields:
Property | Type | Description |
---|---|---|
chapterId | string | - |
chapterNumber | string | - |
Metadata_AnimeMappings
Filepath: internal/api/metadata/types.go
Fields:
Property | Type | Description |
---|---|---|
animeplanetId | string | - |
kitsuId | number | - |
malId | number | - |
type | string | - |
anilistId | number | - |
anisearchId | number | - |
anidbId | number | - |
notifymoeId | string | - |
livechartId | number | - |
thetvdbId | number | - |
imdbId | string | - |
themoviedbId | string | - |
Metadata_AnimeMetadata
Filepath: internal/api/metadata/types.go
Fields:
Property | Type | Description |
---|---|---|
titles | Record<string, string> | - |
episodes | Record<string, Metadata_EpisodeMetadata> | - |
episodeCount | number | - |
specialCount | number | - |
mappings | Metadata_AnimeMappings | - |
Metadata_EpisodeMetadata
Filepath: internal/api/metadata/types.go
Fields:
Property | Type | Description |
---|---|---|
anidbId | number | - |
tvdbId | number | - |
title | string | - |
image | string | - |
airDate | string | - |
length | number | - |
summary | string | - |
overview | string | - |
episodeNumber | number | - |
episode | string | - |
seasonNumber | number | - |
absoluteEpisodeNumber | number | - |
anidbEid | number | - |
Models_AutoDownloaderItem
Filepath: internal/database/models/models.go
Fields:
Property | Type | Description |
---|---|---|
ruleId | number | - |
mediaId | number | - |
episode | number | - |
link | string | - |
hash | string | - |
magnet | string | - |
torrentName | string | - |
downloaded | boolean | - |
id | number | - |
createdAt | string | - |
updatedAt | string | - |
Models_AutoDownloaderSettings
Filepath: internal/database/models/models.go
Fields:
Property | Type | Description |
---|---|---|
provider | string | - |
interval | number | - |
enabled | boolean | - |
downloadAutomatically | boolean | - |
enableEnhancedQueries | boolean | - |
enableSeasonCheck | boolean | - |
useDebrid | boolean | - |
Onlinestream_Episode
Filepath: internal/onlinestream/repository.go
Fields:
Property | Type | Description |
---|---|---|
number | number | - |
title | string | - |
image | string | - |
description | string | - |
isFiller | boolean | - |
TorrentClient_Torrent
Filepath: internal/torrent_clients/torrent_client/torrent.go
Fields:
Property | Type | Description |
---|---|---|
name | string | - |
hash | string | - |
seeds | number | - |
upSpeed | string | - |
downSpeed | string | - |
progress | number | - |
size | string | - |
eta | string | - |
status | TorrentClient_TorrentStatus | - |
contentPath | string | - |
TorrentClient_TorrentStatus
Filepath: internal/torrent_clients/torrent_client/torrent.go
"downloading" | "seeding" | "paused" | "other" | "stopped"