UNPKG

miraipie

Version:

the most powerful nodejs development kit for mirai-api-http

149 lines 7.73 kB
/// <reference types="node" /> import EventEmitter from 'events'; import { Configuration, Logger } from 'log4js'; import { MiraiApiHttpAdapter } from './adapter'; import { ApplicationConfig } from './config'; import { ChatMessage, ChatMessageMap, ChatMessageType, Event, EventMap, EventType, SyncMessage, SyncMessageMap, SyncMessageType } from './mirai'; import { Pie } from './pie'; declare type MessageReceivedListener<T extends ChatMessage> = (chatMessage: T) => any; declare type SyncMessageReceivedListener<T extends SyncMessage> = (syncMessage: T) => any; declare type EventReceivedListener<T extends Event> = (event: T) => any; declare type LifecycleHookListener = () => any; /** MiraiPie 应用程序 */ export declare class MiraiPieApplication extends EventEmitter { private config; /** 应用程序单例 */ static instance: MiraiPieApplication; /** logger */ logger: Logger; /** 机器人服务的QQ号 */ readonly qq: number; /** 用于与 mirai-api-http 对接的客户端 adapter */ api: MiraiApiHttpAdapter; /** 可用的 mirai-api-http 客户端 adapter 映射 */ private __apiAdapterMap; /** 已安装的 pie 映射 */ private __piesMap; /** pie 启用状态映射 */ private __piesEnabledMap; private constructor(); /** * 创建 MiraiPie 应用程序实例 * @param appConfigs 应用程序配置 * @param loggerOptions log4js实例配置 */ static createApp(appConfigs: ApplicationConfig, loggerOptions?: Configuration): MiraiPieApplication; /** * 安装拓展 * @param extension 拓展对象, 可以为 adapter 和 pie */ install<Instance extends Pie | MiraiApiHttpAdapter>(extension: Instance): this; /** * 安装 adapter * @param adapter adapter 对象 */ adapter<MiraiApiHttpAdapterInstance extends MiraiApiHttpAdapter>(adapter: MiraiApiHttpAdapterInstance): this; /** * 切换服务 adapter * @param id adapter id */ useAdapter(id: string): this; /** * 卸载 adapter * @param id adapter id */ uninstallAdapter(id: string): MiraiApiHttpAdapter; /** * 安装 pie * @param pie pie 对象 */ pie<PieInstance extends Pie>(pie: PieInstance): this; /** * 启用 pie * @param id pie id */ enable(id: string): this; /** * 禁用 pie * @param id pie id */ disable(id: string): this; /** * 卸载 pie * @param id pie id */ uninstallPie(id: string): Pie; /** 启动 adapter 的事件监听 */ listen(): Promise<void>; /** 停止 adapter 的事件监听 */ stop(): void; addListener(e: 'message', listener: MessageReceivedListener<ChatMessage>): this; addListener<T extends ChatMessageType>(e: T, listener: MessageReceivedListener<ChatMessageMap[T]>): this; addListener(e: 'sync', listener: SyncMessageReceivedListener<SyncMessage>): this; addListener<T extends SyncMessageType>(e: T, listener: SyncMessageReceivedListener<SyncMessageMap[T]>): this; addListener(e: 'event', listener: EventReceivedListener<Event>): this; addListener<T extends EventType>(e: T, listener: EventReceivedListener<EventMap[T]>): this; addListener(e: 'listen', listener: LifecycleHookListener): this; addListener(e: 'stop', listener: LifecycleHookListener): this; on(e: 'message', listener: MessageReceivedListener<ChatMessage>): this; on<T extends ChatMessageType>(e: T, listener: MessageReceivedListener<ChatMessageMap[T]>): this; on(e: 'sync', listener: SyncMessageReceivedListener<SyncMessage>): this; on<T extends SyncMessageType>(e: T, listener: SyncMessageReceivedListener<SyncMessageMap[T]>): this; on(e: 'event', listener: EventReceivedListener<Event>): this; on<T extends EventType>(e: T, listener: EventReceivedListener<EventMap[T]>): this; on(e: 'listen', listener: LifecycleHookListener): this; on(e: 'stop', listener: LifecycleHookListener): this; once(e: 'message', listener: MessageReceivedListener<ChatMessage>): this; once<T extends ChatMessageType>(e: T, listener: MessageReceivedListener<ChatMessageMap[T]>): this; once(e: 'sync', listener: SyncMessageReceivedListener<SyncMessage>): this; once<T extends SyncMessageType>(e: T, listener: SyncMessageReceivedListener<SyncMessageMap[T]>): this; once(e: 'event', listener: EventReceivedListener<Event>): this; once<T extends EventType>(e: T, listener: EventReceivedListener<EventMap[T]>): this; once(e: 'listen', listener: LifecycleHookListener): this; once(e: 'stop', listener: LifecycleHookListener): this; listeners(e: 'message'): MessageReceivedListener<ChatMessage>[]; listeners<T extends ChatMessageType>(e: T): MessageReceivedListener<ChatMessageMap[T]>[]; listeners(e: 'sync'): SyncMessageReceivedListener<SyncMessage>[]; listeners<T extends SyncMessageType>(e: T): SyncMessageReceivedListener<SyncMessageMap[T]>[]; listeners(e: 'event'): EventReceivedListener<Event>[]; listeners<T extends EventType>(e: T): EventReceivedListener<EventMap[T]>[]; listeners(e: 'listen'): LifecycleHookListener[]; listeners(e: 'stop'): LifecycleHookListener[]; emit(e: 'message', chatMessage: ChatMessage): any; emit(e: ChatMessageType, chatMessage: ChatMessage): any; emit(e: 'sync', syncMessage: SyncMessage): any; emit(e: SyncMessageType, syncMessage: SyncMessage): any; emit(e: 'event', event: Event): any; emit(e: EventType, event: Event): any; emit(e: 'listen'): any; emit(e: 'stop'): any; prependListener(e: 'message', listener: MessageReceivedListener<ChatMessage>): this; prependListener<T extends ChatMessageType>(e: T, listener: MessageReceivedListener<ChatMessageMap[T]>): this; prependListener(e: 'sync', listener: SyncMessageReceivedListener<SyncMessage>): this; prependListener<T extends SyncMessageType>(e: T, listener: SyncMessageReceivedListener<SyncMessageMap[T]>): this; prependListener(e: 'event', listener: EventReceivedListener<Event>): this; prependListener<T extends EventType>(e: T, listener: EventReceivedListener<EventMap[T]>): this; prependListener(e: 'listen', listener: LifecycleHookListener): this; prependListener(e: 'stop', listener: LifecycleHookListener): this; prependOnceListener(e: 'message', listener: MessageReceivedListener<ChatMessage>): this; prependOnceListener<T extends ChatMessageType>(e: T, listener: MessageReceivedListener<ChatMessageMap[T]>): this; prependOnceListener(e: 'sync', listener: SyncMessageReceivedListener<SyncMessage>): this; prependOnceListener<T extends SyncMessageType>(e: T, listener: SyncMessageReceivedListener<SyncMessageMap[T]>): this; prependOnceListener(e: 'event', listener: EventReceivedListener<Event>): this; prependOnceListener<T extends EventType>(e: T, listener: EventReceivedListener<EventMap[T]>): this; prependOnceListener(e: 'listen', listener: LifecycleHookListener): this; prependOnceListener(e: 'stop', listener: LifecycleHookListener): this; /** 用于 pie 的消息分发器 */ private __messageDispatcher; } export { ResponseCode, FaceType } from './mirai'; export * as Mirai from './mirai'; export * from './adapter'; export * from './pie'; export * from './message'; export * from './chat'; export * from './config'; export declare const createApp: typeof MiraiPieApplication.createApp; export declare const makeAppConfig: typeof ApplicationConfig.make; export default createApp; //# sourceMappingURL=miraipie.d.ts.map