UNPKG

koishi-plugin-mediawiki

Version:
62 lines (61 loc) 2.43 kB
/** * koishi-plugin-mediawiki * @desc MediaWiki plugin for Koishijs * @author Koishijs(机智的小鱼君) <dragon-fish@qq.com> * @license Apache-2.0 */ import { Context, h, Logger, Schema } from 'koishi'; import type { Config } from './types/Config'; import type { InfoboxDefinition } from './types/Infobox'; declare module 'koishi' { interface Channel { mwApi?: string; } } export declare const name = "mediawiki"; export default class PluginMediawiki { #private; ctx: Context; config: Partial<Config>; static inject: string[]; INFOBOX_DEFINITION: InfoboxDefinition[]; static Config: Schema<Schemastery.ObjectS<{ cmdAuthWiki: Schema<number, number>; cmdAuthConnect: Schema<number, number>; cmdAuthSearch: Schema<number, number>; searchIfNotExist: Schema<boolean, boolean>; showDetailsByDefault: Schema<boolean, boolean>; customInfoboxes: Schema<({ match?: string | null | undefined; selector?: string[] | null | undefined; injectStyles?: string | null | undefined; skin?: string | null | undefined; } & import("koishi").Dict)[], Schemastery.ObjectT<{ match: Schema<string, string>; selector: Schema<string[], string[]>; injectStyles: Schema<string, string>; skin: Schema<string, string>; }>[]>; }>, Schemastery.ObjectT<{ cmdAuthWiki: Schema<number, number>; cmdAuthConnect: Schema<number, number>; cmdAuthSearch: Schema<number, number>; searchIfNotExist: Schema<boolean, boolean>; showDetailsByDefault: Schema<boolean, boolean>; customInfoboxes: Schema<({ match?: string | null | undefined; selector?: string[] | null | undefined; injectStyles?: string | null | undefined; skin?: string | null | undefined; } & import("koishi").Dict)[], Schemastery.ObjectT<{ match: Schema<string, string>; selector: Schema<string[], string[]>; injectStyles: Schema<string, string>; skin: Schema<string, string>; }>[]>; }>>; constructor(ctx: Context, config?: Partial<Config>); get logger(): Logger; shotInfobox(url: string, silence?: boolean): Promise<string | h>; createInjectStylesFromDefinition({ selector, injectStyles, }: InfoboxDefinition): string; }