/** * 警告模块 * 提供用户警告功能,累计警告达到阈值时自动禁言 */ import { Context } from 'koishi'; import { BaseModule, ModuleMeta } from './base.module'; import type { DataManager } from '../data'; import type { Config } from '../../types'; export declare class WarnModule extends BaseModule { readonly meta: ModuleMeta; constructor(ctx: Context, data: DataManager, config: Config); protected onInit(): Promise; /** * 迁移旧数据格式到新格式 * 旧格式1: key="guildId:userId", value={ groups: { guildId: { count, timestamp } } } * 旧格式2: key="guildId", value={ userId: count } * 新格式: key="guildId", value={ userId: { count, timestamp } } */ private migrateData; /** * 注册警告相关命令 */ private registerCommands; /** * 处理警告命令 */ private handleWarn; /** * 添加警告记录 */ private addWarn; /** * 执行自动禁言 */ private executeAutoBan; /** * 记录禁言信息 */ private recordMute; /** * 处理清除警告命令 */ private handleClearWarn; /** * 处理查看警告列表命令 */ private handleListWarns; /** * 获取用户警告数 */ getWarnCount(guildId: string, userId: string): number; /** * 获取群组所有警告 */ getGuildWarns(guildId: string): Array<{ userId: string; count: number; timestamp: number; }>; }