koishi-plugin-pics
Version:
67 lines (66 loc) • 2.21 kB
TypeScript
import { Context, Awaitable, Logger, Schema, Quester } from 'koishi';
import { PartialDeep } from 'koishi-thirdeye';
import PicsContainer from '.';
import { PicSourceConfig } from './config';
import { PicSourceInfo, PicResult } from './def';
export declare class PicSource implements PicSourceInfo {
ctx: Context;
constructor(ctx: Context);
tags: string[];
weight: number;
name: string;
description: string;
isDefault: boolean;
applyConfig(src: Partial<PicSourceInfo>): void;
randomPic(picTags: string[]): Awaitable<PicResult>;
onStartup(): Awaitable<void>;
onShutdown(): Awaitable<void>;
getDisplayString(): string;
}
export declare class BasePicSourcePlugin extends PicSource {
constructor(ctx: Context, config: PartialDeep<PicSourceConfig>);
http: Quester;
config: PicSourceConfig;
pics: PicsContainer;
logger: Logger;
initializeSource(): void;
}
export declare const PicSourcePlugin: <S>(specificConfig?: import("koishi-thirdeye").ClassType<S>) => new (ctx: import("cordis").Context<any>, config: PartialDeep<S> & {
tags?: string[];
weight?: number;
name?: string;
description?: string;
isDefault?: boolean;
http?: {
headers?: {
[x: string]: any;
};
timeout?: number;
proxyAgent?: string;
};
applyTo?: (target: PicSourceInfo) => void;
}) => BasePicSourcePlugin & {
config: PicSourceConfig & S;
};
export declare function PlainPicSourcePlugin<C>(dict: {
[K in keyof C]: Schema<C[K]>;
}): {
new (ctx: Context, config: PartialDeep<C & PicSourceConfig>): {
http: Quester;
config: PicSourceConfig & C;
ctx: Context;
tags: string[];
weight: number;
name: string;
description: string;
isDefault: boolean;
applyConfig(src: Partial<PicSourceInfo>): void;
randomPic(picTags: string[]): PicResult | Promise<PicResult>;
onStartup(): void | Promise<void>;
onShutdown(): void | Promise<void>;
getDisplayString(): string;
};
Config: Schema<PartialDeep<PicSourceConfig & C>, PicSourceConfig & C>;
using: readonly ["pics"];
reusable: boolean;
};