koishi-plugin-memes
Version:
生成 Meme 表情包,支持 MemeGenerator API (v1)、内置模板和自定义 API 接口
89 lines (88 loc) • 3.84 kB
TypeScript
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>;