@nekolab/hanime
Version:
Fast and efficient hanime.tv API wrapper written in TypeScript.
98 lines • 2.73 kB
TypeScript
import { DefaultResponse, HomePage, CoinsResponse, HentaiVideo, Downloads, LoggingConfig, MyChannelResponse, ChannelResponse, Comments, CommentUser, PremiumResponse } from '../types';
/**
* Hanime client. Based on mobile and web API.
*/
export declare class HanimeClient {
/**
* Requests client
*/
private reqClient;
/**
* Logging client
*/
private loggingClient;
/**
* User session token
*/
sessionToken: string | null;
/**
* Information about the app and currently logged in user
*/
private info;
/**
* Base URL for the requests
*/
private readonly BASE_URLS;
/**
* Create a new instance of the AppClient
* @param sessionToken User session token
* @returns AppClient instance
*/
constructor(sessionToken?: string, loggingConfig?: LoggingConfig);
/**
* Login to the APP
* @param login User login
* @param password User password
* @returns Login response.
*/
login(login: string, password: string): Promise<DefaultResponse>;
/**
* Get base info about current user
* @returns User info
*/
getInfo(): Promise<DefaultResponse>;
/**
* Get the home page
* @returns Home page response
*/
getHomePage(): Promise<HomePage>;
/**
* Claim coins. Raises 401 if cooldown is not over.
* @returns Coins response
*/
claimCoins(): Promise<CoinsResponse>;
/**
* Get hentai downloads
* @param slug Slug of the hentai
* @returns Downloads response
*/
getHentaiDownloads(slug: string): Promise<Downloads>;
/**
* Get hentai video
* @param id ID of the hentai
* @returns Hentai video
*/
getHentaiVideo(id: number): Promise<HentaiVideo>;
/**
* Get current account channel
* @returns Channel response
*/
getMyChannel(): Promise<MyChannelResponse>;
/**
* Get other user channel
* @param slug Slug of the user
* @returns Channel response
*/
getChannel(slug: string): Promise<ChannelResponse>;
/**
* Get hentai comments
* @param hentaiId ID of the hentai
* @param offset Offset
* @param count Comments count
* @param order Order
* @returns Comments
*/
getComments(hentaiId: number, offset?: number, count?: number, sortBy?: 'createdAt' | 'upvotes'): Promise<Comments>;
/**
* Get comments users
* @param userIds User IDs
* @returns Comment users
*/
getCommentsUsers(userIds: number[]): Promise<CommentUser[]>;
/**
* Claim Premium
* @returns Premium response
*/
claimPremium(): Promise<PremiumResponse>;
}
//# sourceMappingURL=client.d.ts.map