cyberbot-next
Version:
cyberbot, 基于napcat-ts, nodejs,轻量qq机器人框架。
78 lines (77 loc) • 3.56 kB
TypeScript
import { PluginManager, CybePlugin } from './pluginManager.js';
import { logger, Logger } from './logger.js';
import { Plugin, MessageContext, Config, NCWebsocket, Structs, type Send, type AllHandlers, FsSizeData } from './types.js';
import { createEventHandlers } from './event.js';
import axios from 'axios';
export type { Plugin, MessageContext, Config, Send, AllHandlers, FsSizeData };
export { CybePlugin, PluginManager, NCWebsocket, Structs };
export declare class NapcatConnector extends NCWebsocket {
private static instance;
private messageHandlers;
private singleMessageHandler;
constructor(configPath?: string);
static getInstance(configPath?: string): NapcatConnector;
onMessage(handler: (e: MessageContext) => void): void;
removeMessageListener(handler: (e: MessageContext) => void): boolean;
connect(): Promise<void>;
disconnect(): void;
setConfig(config: Config): void;
getConfig(): Config;
}
export declare class NapcatClient {
private connector;
pluginManager: PluginManager;
logger: Logger;
events: ReturnType<typeof createEventHandlers>;
bot_uin: number;
napcat: NapcatConnector;
constructor(connector?: NapcatConnector);
onMessage(handler: (e: MessageContext) => void): void;
removeMessageListener(handler: (e: MessageContext) => void): boolean;
connect(): Promise<void>;
disconnect(): void;
loadPlugin(plugin: Plugin): void;
unloadPlugin(pluginName: string): boolean;
getLoadedPlugins(): string[];
setConfig(config: Config): void;
getConfig(): Config;
sendPrivateMessage(userId: number, content: any): Promise<{
message_id: number;
}>;
sendGroupMessage(groupId: number, content: any): Promise<{
message_id: number;
}>;
deleteMessage(message_id: number): Promise<void>;
kickMember(group_id: number, user_id: number, reject_add_request?: boolean): Promise<void>;
banMember(group_id: number, user_id: number, duration?: number): Promise<void>;
banAllMembers(group_id: number, enable: boolean): Promise<void>;
setGroupNameEx(group_id: number, name: string): Promise<void>;
setAdminEx(group_id: number, user_id: number, enable: boolean): Promise<void>;
setMemberTitle(group_id: number, user_id: number, title: string): Promise<void>;
isMaster(id: number): Promise<boolean>;
isAdmin(id: number): Promise<boolean>;
hasRight(user_id: number): Promise<boolean>;
aprroveGroup(flag: string): Promise<void>;
rejectGroup(flag: string): Promise<void>;
isGroupAdmin(group_id: number, user_id: number): Promise<boolean>;
isGroupOwner(group_id: number, user_id: number): Promise<boolean>;
md5(text: string): string;
randomInt(min: number, max: number): number;
randomItem<T>(array: T[]): T;
getGroupAvatarLink(group_id: number, size?: number): string;
getQQAvatarLink(user_id: number, size?: number): string;
getImageLink(raw_message: string): string;
getDirectLink(url: string): Promise<string>;
getMessageId(raw_message: string): string;
getMessageAt(raw_message: string): number[];
getText(raw_message: string): string;
getQuotedText(raw_message: string): Promise<string>;
fakeMessage(target_id: number, message: Send['node'][], isGroup: boolean): Promise<{
message_id: number;
res_id: string;
}>;
}
declare const connector: NapcatConnector;
declare const client: NapcatClient;
declare function BootStrap(): Promise<void>;
export { BootStrap, logger, connector, client, axios as http };