@zhin.js/adapter-onebot11
Version:
zhin adapter for onebot11
87 lines • 2.74 kB
TypeScript
import { EventEmitter } from "events";
import { Bot, Adapter, Message, SendOptions } from 'zhin.js';
import type { Router } from '@zhin.js/http';
declare module '@zhin.js/types' {
interface RegisteredAdapters {
'onebot11': Adapter<OneBot11WsClient>;
'onebot11.wss': Adapter<OneBot11WsServer>;
}
}
export interface OneBot11Config extends Bot.Config {
context: 'onebot11';
type: string;
access_token?: string;
}
export interface OneBot11WsClientConfig extends OneBot11Config {
type: 'ws';
url: string;
reconnect_interval?: number;
heartbeat_interval?: number;
}
export interface OneBot11WsServerConfig extends OneBot11Config {
type: 'ws_reverse';
path: string;
heartbeat_interval?: number;
}
export interface OneBot11HTTPConfig extends OneBot11Config {
type: 'http_sse';
port: number;
path: string;
}
interface OneBot11Message {
post_type: string;
self_id: string;
message_type?: string;
sub_type?: string;
message_id: number;
user_id: number;
group_id?: number;
message: Array<{
type: string;
data: Record<string, any>;
}>;
raw_message: string;
time: number;
}
export declare class OneBot11WsClient extends EventEmitter implements Bot<OneBot11Message, OneBot11WsClientConfig> {
$config: OneBot11WsClientConfig;
$connected?: boolean;
private ws?;
private reconnectTimer?;
private heartbeatTimer?;
private requestId;
private pendingRequests;
constructor($config: OneBot11WsClientConfig);
$connect(): Promise<void>;
$disconnect(): Promise<void>;
$formatMessage(onebotMsg: OneBot11Message): Message<OneBot11Message>;
$sendMessage(options: SendOptions): Promise<string>;
$recallMessage(id: string): Promise<void>;
private callApi;
private handleWebSocketMessage;
private handleOneBot11Message;
private startHeartbeat;
private scheduleReconnect;
}
export declare class OneBot11WsServer extends EventEmitter implements Bot<OneBot11Message, OneBot11WsServerConfig> {
#private;
router: Router;
$config: OneBot11WsServerConfig;
$connected?: boolean;
private heartbeatTimer?;
private requestId;
private pendingRequests;
constructor(router: Router, $config: OneBot11WsServerConfig);
$connect(): Promise<void>;
$disconnect(): Promise<void>;
$formatMessage(onebotMsg: OneBot11Message): Message<OneBot11Message>;
$sendMessage(options: SendOptions): Promise<string>;
$recallMessage(id: string): Promise<void>;
private callApi;
private handleWebSocketMessage;
private handleMetaEvent;
private handleMessage;
private startHeartbeat;
}
export {};
//# sourceMappingURL=index.d.ts.map