/// import * as WebSocket from 'ws'; import { EventEmitter } from 'events'; import { MessageContext } from './context'; import { Duration } from '../utils'; export declare class MyWebSocket extends WebSocket { heartBeat: () => void; pingTimeout: NodeJS.Timeout; alive: boolean; sendJson: (data: any) => void; } declare type PluginHookHandler = (ctx: MessageContext, namespace: any) => void; interface Plugin { create: (options: any, namespace: any) => CallableFunction; namespace: (options: any) => any; hooks: Record; } declare type handler = (ctx: MessageContext) => any; declare type afterHandler = (ctx: MessageContext, result: any) => any; declare type serverOptions = { port?: number; deactive_timeout?: number; }; declare type handleFilters = { prefixes?: Array; regexs?: Array; keywords?: Array; include_qq?: Array; include_group?: Array; exclude_qq?: Array; exclude_group?: Array; }; declare type handlerTask = { handler: handler; filters: handleFilters; beforeChecker: handler; afterHandler: afterHandler; }; declare type handleOptions = { where?: string; filters?: handleFilters; beforeChecker?: handler; afterHandler?: afterHandler; }; declare type events = { message: { common: Array; private: { common: Array; friend: Array; group: Array; other: Array; }; group: { common: Array; normal: Array; anonymous: Array; notice: Array; }; }; notice: { common: Array; private: { common: Array; friend_add: Array; friend_recall: Array; notify: { common: Array; poke: Array; lucky_king: Array; honor: Array; }; }; group: { common: Array; group_upload: Array; group_admin: { common: Array; set: Array; unset: Array; }; group_decrease: { common: Array; leave: Array; kick: Array; kick_me: Array; }; group_increase: { common: Array; approve: Array; invite: Array; }; group_ban: { common: Array; ban: Array; lift_ban: Array; }; group_recall: Array; notify: { common: Array; poke: Array; lucky_king: Array; honor: Array; }; }; }; request: { common: Array; friend: Array; group: { common: Array; add: Array; invite: Array; }; }; meta_event: { common: Array; lifecycle: { common: Array; connect: Array; enable: Array; disable: Array; }; heartbeat: Array; }; }; export declare class QQbot { id: string; name: string; logName: string; connected: boolean; debug: boolean; logUnhandledInfo: boolean; logHeartbeat: boolean; eventEmitter: EventEmitter; globalFilters: handleFilters; loggerOptions: {}; totalSend: number; totalRecive: number; lastRecived: number; plugins: Map; status: {}; events: events; initEventsMethod: (bot: QQbot) => void; defaultHandleOptions: () => handleOptions; defaultFilters: handleFilters; beforeHandleCheckers: ({ handler: handler; } | {}); afterHandlers: ({ handler: afterHandler; } | {}); server: WebSocket.Server; info: (...args: any[]) => {}; log: (...args: any[]) => {}; warn: (...args: any[]) => {}; error: (...args: any[]) => {}; constructor({ name, logName, logUnhandledInfo, logHeartbeat, debug, serverOptions, eventAssigns, customGlobalFilters, loggerOptions, beforeHandleCheckers, afterHandlers, initEventsMethod }: { name: string; logName?: string; logUnhandledInfo?: boolean; logHeartbeat?: boolean; debug?: boolean; serverOptions?: serverOptions; eventAssigns?: object; customGlobalFilters?: object; loggerOptions?: object; beforeHandleCheckers?: object; afterHandlers?: object; initEventsMethod?: (bot: QQbot) => any; }); initServer(options: any): void; fastAddEventHandler(typeCheckIn: Array, eventType: string, type: string, handler: handler, options: handleOptions): void; onMessage(type: ('common' | 'private' | 'group'), handler: handler, options?: handleOptions): void; onNotice(type: ('common' | 'private' | 'group'), handler: handler, options?: handleOptions): void; onRequest(type: ('common' | 'friend' | 'group'), handler: handler, options?: handleOptions): void; onMetaEvent(type: ('common' | 'lifecycle' | 'heartbeat'), handler: handler, options?: handleOptions): void; onLifecycle(lifecycle: ('connect' | 'enable' | 'disable'), handler: handler): void; defaultEvents(eventAssigns: Object): events; handleMessage(msg: any, ws: MyWebSocket): Promise; fakeMessage(event: any): Promise; fastEventHandler({ taskList, tipString, time, ctx, type }: { taskList: Array; tipString: string; time: Duration; ctx: MessageContext; type: string; }): Promise; beforeHandleCheck(ctx: MessageContext): Promise; addBeforeChecker(name: string, handler: handler): void; removeBeforeChecker(name: string): void; afterHandle(ctx: MessageContext): Promise; addAfterHandler(name: string, handler: handler): void; removeaddAfterHandler(name: string): void; eventHandlers: { message: (ctx: MessageContext) => Promise; notice: (ctx: MessageContext) => Promise; request: (ctx: MessageContext) => Promise; meta_event: (ctx: MessageContext) => Promise; }; loggerize(options: object): void; format({ color, level }: { color?: string; level?: string; }): string; get clientCount(): number; onPrivateMessage(handler: any, ...args: any[]): void; onPublicMessage(handler: any, option: any): void; onGroupMessage(handler: any, ...args: any[]): void; initPlugin(plugin: Plugin, options?: {}): Promise<{ namespace: any; messageHandler: CallableFunction; }>; use(plugin: Plugin): Promise; start(): void; } export {}; //# sourceMappingURL=qqbot.d.ts.map