UNPKG

koishi-plugin-memes

Version:

生成 Meme 表情包,支持 MemeGenerator API (v1)、内置模板和自定义 API 接口

89 lines (88 loc) 3.84 kB
import { Logger } from 'koishi'; /** * 解析目标用户ID * @param arg - 包含用户ID信息的字符串,可能是@提及、纯数字ID等 * @returns 解析出的用户ID,如果无法解析则返回原始输入或空字符串 */ export declare function parseTarget(arg: string): string; /** * 获取用户头像URL * @param session - 会话对象,包含用户信息 * @param userId - 可选,要获取头像的用户ID,不提供则使用会话中的用户ID * @returns 用户头像的URL地址 * @async */ export declare function getUserAvatar(session: any, userId?: string): Promise<string>; /** * 发送消息并在指定时间后自动撤回 * @param session - 会话对象,用于发送和撤回消息 * @param message - 要发送的消息内容或消息ID * @param delay - 可选,撤回消息前等待的时间(毫秒),默认为10000ms * @returns Promise<any> - 操作结果,通常为null * @async */ export declare function autoRecall(session: any, message: string | number, delay?: number): Promise<any>; /** * 读取JSON文件并解析内容 * @param filePath - JSON文件的完整路径 * @param logger - 可选,用于记录操作日志的Logger实例 * @returns 解析后的JSON数据对象,读取失败时返回null * @template T - 文件内容的类型 */ export declare function readJsonFile<T>(filePath: string, logger?: Logger): T | null; /** * 将数据写入JSON文件 * @param filePath - 要写入的JSON文件路径 * @param data - 要保存的数据对象 * @param logger - 可选,用于记录操作日志的Logger实例 * @returns 写入成功返回true,失败返回false */ export declare function writeJsonFile(filePath: string, data: any, logger?: Logger): boolean; /** * 加载配置文件,如果不存在则创建默认配置 * @param filePath - 配置文件的路径 * @param defaultConfig - 默认配置对象 * @param logger - 可选,用于记录操作日志的Logger实例 * @returns 加载的配置对象或默认配置对象 * @template T - 配置数据的类型 */ export declare function loadOrCreateConfig<T>(filePath: string, defaultConfig: T, logger?: Logger): T; /** * 发送API请求并处理响应 * @param url - 请求的URL地址 * @param options - 请求选项配置对象 * @param options.method - 可选,请求方法,默认为'get' * @param options.data - 可选,请求体数据,用于POST请求 * @param options.formData - 可选,表单数据 * @param options.responseType - 可选,响应类型,默认为'json' * @param options.timeout - 可选,请求超时时间(毫秒),默认为8000ms * @param logger - 可选,用于记录操作日志的Logger实例 * @returns 请求成功返回响应数据,失败返回null * @template T - 返回数据的类型,默认为any * @async */ export declare function apiRequest<T = any>(url: string, options?: { method?: 'get' | 'post'; data?: any; formData?: FormData; responseType?: 'json' | 'arraybuffer'; timeout?: number; }, logger?: Logger): Promise<T | null>; /** * 将表情模板列表渲染为图片 * @param ctx - 上下文对象,包含puppeteer实例 * @param title - 列表的标题 * @param templates - 要显示的模板数组 * @returns 包含渲染图片数据的Buffer对象 * @async */ export declare function renderTemplateListAsImage(ctx: any, title: string, templates: any[]): Promise<Buffer>; /** * 将单个表情模板的详细信息渲染为图片 * @param ctx - 上下文对象,包含puppeteer实例 * @param template - 模板信息对象 * @param previewImgUrl - 可选,模板预览图的URL或base64数据 * @returns 包含渲染图片数据的Buffer对象 * @async */ export declare function renderTemplateInfoAsImage(ctx: any, template: any, previewImgUrl?: string): Promise<Buffer>;