# koishi-plugin-message-monitor

一个 Koishi 插件，用于监控和管理群组消息。

> **注意**: 插件同时支持通过 **指令** 和 **控制台配置** 来管理监控用户。为了避免混淆，建议您只选择其中一种方式进行管理。
> 
> - 管理指令 (`monitor.add`, `monitor.remove`, `recall.add`, `recall.remove`) 需要权限等级 2
> - 查看指令 (`monitor.list`, `recall.list`) 需要权限等级 1

## ✨ 功能

*   **指令管理**:
    *   `monitor.add <user> [...types]`: 添加或更新监控用户。可指定多种类型（图片、文件、视频、转发、链接），不指定则默认为所有类型。
    *   `monitor.remove <user> [...types]`: 移除监控用户的指定监控类型，不指定类型则移除整个用户。
    *   `monitor.list`: 查看本群监控列表。
    *   `recall.add <keyword>`: 添加违禁词。
    *   `recall.remove <keyword>`: 移除违禁词。
    *   `recall.list`: 查看违禁词列表。
*   **消息监控与撤回**:
    *   监控并自动撤回指定用户发送的 **图片、文件、视频、合并转发、链接** 消息。
    *   监控并自动撤回指定用户发送的 **可执行文件**（如 `.exe`, `.dll` 等，可自定义后缀）。
*   **违禁词撤回**:
    *   支持配置全局或特定群组的违禁词列表，自动撤回包含违禁词的消息。
*   **自动禁言**:
    *   当用户因发送被监控的消息或违禁词而被撤回次数达到阈值时，可自动禁言用户。
    *   支持普通禁言和阶梯式（指数增长）禁言两种模式。
*   **灵活的配置**:
    *   可以指定监控特定的群组。
    *   可以选择是否忽略表情图片（不进行撤回）。
    *   所有功能均可通过配置项开启或关闭，并可自定义参数（如禁言时长、撤回次数阈值等）。
*   **调试日志**:
    *   提供 `log_info` 选项，开启后可在控制台输出详细的消息日志，方便调试。