onebots
Version:
基于icqq的多例oneBot实现
90 lines (89 loc) • 3.21 kB
TypeScript
import Koa from "koa";
import * as os from "os";
import "reflect-metadata";
import { Logger } from "log4js";
import { Server } from "http";
import { Class } from "../utils";
import { Router, WsServer } from "./router";
import { V11 } from "../service/V11";
import { V12 } from "../service/V12";
import { LogLevel } from "../types";
import { Adapter } from "../adapter";
import { ChildProcess } from "child_process";
export interface KoaOptions {
env?: string;
keys?: string[];
proxy?: boolean;
subdomainOffset?: number;
proxyIpHeader?: string;
maxIpsCount?: number;
}
type AdapterClass = Class<Adapter>;
export declare class App extends Koa {
config: Required<App.Config>;
httpServer: Server;
isStarted: boolean;
logger: Logger;
static configDir: string;
static get configPath(): string;
static get dataDir(): string;
static get logFile(): string;
adapters: Map<string, Adapter>;
ws: WsServer;
router: Router;
get info(): {
system_platform: NodeJS.Platform;
system_arch: NodeJS.Architecture;
system_cpus: os.CpuInfo[];
system_version: string;
system_uptime: number;
username: string;
total_memory: number;
free_memory: number;
process_id: number;
process_parent_id: number;
process_cwd: string;
process_use_memory: number;
node_version: string;
sdk_version: any;
uptime: number;
};
constructor(config?: App.Config);
init(): void;
getLogger(patform: string): Logger;
private getConfigMaps;
private createOneBots;
addAccount<P extends string>(platform: P, uin: string, config: Adapter.Configs[P]): void;
updateAccount<P extends string>(platform: P, uin: string, config: Adapter.Configs[P]): void;
removeAccount(platform: string, uin: string, force?: boolean): void;
createOneBot<P extends string>(platform: P, uin: string, config: Adapter.Config): import("..").OneBot<any>;
get oneBots(): import("..").OneBot<any>[];
findOrCreateAdapter<P extends string>(platform: P, config?: Adapter.Config): void | Adapter<string, any>;
start(): Promise<void>;
reload(config: App.Config): Promise<void>;
stop(): Promise<void>;
}
export declare function createOnebots(config?: App.Config | string, cp?: ChildProcess | null): App;
export declare function defineConfig(config: App.Config): App.Config;
export declare namespace App {
const ADAPTERS: Map<string, AdapterClass>;
interface Adapters<P extends string = string> extends Map<P, Adapter<P>> {
}
type Config = {
port?: number;
path?: string;
timeout?: number;
username?: string;
password?: string;
log_level?: LogLevel;
general?: {
V11?: V11.Config;
V12?: V12.Config;
};
} & KoaOptions & Record<`${string}.${string}`, Adapter.Config>;
const defaultConfig: Config;
function registerAdapter(name: string): void;
function registerAdapter<T extends string>(platform: T, adapter: AdapterClass): void;
function loadAdapter<T extends string>(platform: string): Class<Adapter<T, any>>;
}
export {};