miraipie
Version:
the most powerful nodejs development kit for mirai-api-http
149 lines • 7.73 kB
TypeScript
/// <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