xinc
Version:
基于napcat,node-napcat-ts的bot框架
38 lines (37 loc) • 1.35 kB
TypeScript
import { NCWebsocketApi } from '../../napcat/NCWebsocketApi';
import { Logger } from '../Logger';
import { Plugin } from './types';
export declare class PluginManager {
private plugins;
private builtinPlugins;
private handlers;
private handlersByPlugin;
private api;
private logger;
private pluginsDir;
private enabledPlugins;
constructor(api: NCWebsocketApi, logger: Logger, pluginsDir?: string, enabledPlugins?: string[]);
private setupEventHandlers;
private enhanceMessageEvent;
private extractRawMessage;
private triggerHandlers;
private createContext;
loadPlugin(pluginPath: string, isBuiltin?: boolean): Promise<boolean>;
registerBuiltinPlugin(plugin: Plugin): Promise<boolean>;
unloadPlugin(pluginName: string, isBuiltin?: boolean): Promise<boolean>;
loadAllPlugins(): Promise<void>;
reloadAllPlugins(): Promise<void>;
reloadPlugin(pluginName: string): Promise<boolean>;
enablePlugin(pluginName: string): Promise<boolean>;
disablePlugin(pluginName: string): Promise<boolean>;
getLoadedPlugins(): Plugin[];
getAllPlugins(): {
name: string;
version: string;
desc: string;
type: 'user' | 'builtin';
enabled: boolean;
}[];
getEnabledPlugins(): string[];
setEnabledPlugins(plugins: string[]): void;
}