UNPKG

koishi-plugin-best-cave

Version:

回声洞,可自由添加内容,可配置 MD5/pHash 查重,支持查阅投稿列表(可用但等待重构)

90 lines (89 loc) 2.96 kB
import { Context } from 'koishi'; import { Config, PendingCave } from '..'; import { IdManager } from './IdManager'; /** * 管理洞审核相关操作的类 */ export declare class AuditManager { private ctx; private config; private idManager; private logger; /** * 创建审核管理器实例 * @param ctx - Koishi 上下文 * @param config - 配置对象 * @param idManager - ID 管理器实例 */ constructor(ctx: Context, config: Config, idManager: IdManager); /** * 处理审核操作 * @param pendingData - 待审核的洞数据数组 * @param isApprove - 是否通过审核 * @param caveFilePath - 洞数据文件路径 * @param resourceDir - 资源目录路径 * @param pendingFilePath - 待审核数据文件路径 * @param session - 会话对象 * @param targetId - 目标洞ID(可选) * @returns 处理结果消息 */ processAudit(pendingData: PendingCave[], isApprove: boolean, caveFilePath: string, resourceDir: string, pendingFilePath: string, session: any, targetId?: number): Promise<string>; /** * 处理单条审核 * @param pendingData - 待审核的洞数据数组 * @param isApprove - 是否通过审核 * @param caveFilePath - 洞数据文件路径 * @param resourceDir - 资源目录路径 * @param pendingFilePath - 待审核数据文件路径 * @param targetId - 目标洞ID * @param session - 会话对象 * @returns 处理结果消息 * @private */ private handleSingleAudit; /** * 处理批量审核 * @param pendingData - 待审核的洞数据数组 * @param isApprove - 是否通过审核 * @param caveFilePath - 洞数据文件路径 * @param resourceDir - 资源目录路径 * @param pendingFilePath - 待审核数据文件路径 * @param session - 会话对象 * @returns 处理结果消息 * @private */ private handleBatchAudit; /** * 发送审核消息给管理员 * @param cave - 待审核的洞数据 * @param content - 消息内容 * @param session - 会话对象 */ sendAuditMessage(cave: PendingCave, content: string, session: any): Promise<void>; /** * 删除媒体文件 * @param cave - 洞数据 * @param resourceDir - 资源目录路径 * @private */ private deleteMediaFiles; /** * 清理元素数据用于保存 * @param elements - 元素数组 * @param keepIndex - 是否保留索引 * @returns 清理后的元素数组 * @private */ private cleanElementsForSave; /** * 发送消息 * @param session - 会话对象 * @param key - 消息key * @param params - 消息参数 * @param isTemp - 是否为临时消息 * @param timeout - 临时消息超时时间 * @returns 空字符串 * @private */ private sendMessage; }