koishi-plugin-mcl-grouptool
Version:
166 lines (124 loc) • 5.4 kB
Markdown
# koishi-plugin-mcl-grouptool
[](https://www.npmjs.com/package/koishi-plugin-mcl-grouptool)
MC 启动器群助手 - 专为 Minecraft 启动器群设计的智能助手插件
## ✨ 功能特性
- 🎯 **智能文件识别**:自动识别启动器错误文件并提供对应技术支持群
- 📝 **关键词自动回复**:支持正则表达式的智能关键词匹配回复系统
- 🚫 **防重复发送**:智能防止重复消息发送,避免刷屏
- 👥 **用户权限管理**:白名单用户权限控制
- 📸 **图片OCR识别**:自动识别图片中的文字并进行关键词匹配
- 🔄 **消息转发功能**:支持将消息转发到指定群组
- 📊 **对话记录功能**:记录文件上传后的用户对话
## 🚀 支持的启动器
| 启动器 | 技术支持群 | 支持群组 | 错误文件格式 |
|--------|------------|----------|--------------|
| **HMCL** | 666546887 | 633640264, 203232161, 201034984, 533529045, 744304553, 282845310, 482624681, 991620626, 657677715, 775084843 | `minecraft-exported-crash-info-YYYY-MM-DDTHH-MM-SS.zip` |
| **PCL2** | 978054335 | 1028074835 | `错误报告-YYYY-M-D_HH.MM.SS.zip` |
| **BakaXL** | 958853931 | 480455628, 377521448 | `BakaXL-ErrorCan-XXXXXXXXXXXXXX.json` |
## 📋 命令列表
| 命令 | 参数 | 描述 | 权限要求 |
|------|------|------|----------|
| `send <regexPattern> [target]` | 正则表达式,可选目标用户 | 发送预设的关键词回复 | 白名单用户 |
| `send -l` | 无 | 查看关键词列表 | 白名单用户 |
### 命令使用说明
发送预设回复
```text
send <regexPattern> [target]
```
- `<regexPattern>`:在关键词配置中定义的正则表达式
- `[target]`:可选参数,支持以下格式:
- `@用户` - 直接@某个用户
- `@123456789` - @加用户ID
- `123456789` - 纯用户ID
查看关键词列表
```text
send -l
```
## ⚙️ 配置选项
### 功能开关
| 配置项 | 类型 | 默认值 | 描述 |
|--------|------|--------|------|
| `fileReply` | boolean | `false` | 启用报错指引 |
| `fileRecord` | boolean | `false` | 启用报告记录 |
| `keywordReply` | boolean | `false` | 启用关键词回复 |
| `ocrReply` | boolean | `false` | 启用图片识别 |
| `enableForward` | boolean | `false` | 启用消息转发 |
| `forwardOcr` | boolean | `false` | 转发图片识别内容 |
### 参数配置
| 配置项 | 类型 | 默认值 | 描述 |
|--------|------|--------|------|
| `preventDup` | boolean | `true` | 延迟发送提示(3秒防重) |
| `quote` | boolean | `true` | 回复时引用消息 |
| `mention` | boolean | `false` | 回复时@用户 |
| `forwardTarget` | string | - | 转发目标群号 |
| `additionalGroups` | string[] | `[]` | 额外的报告记录群组 |
| `whitelist` | string[] | `[]` | 白名单用户列表 |
### 关键词配置
- **keywords**:关键词回复配置
- `regex`:正则表达式
- `reply`:回复内容
- **ocrKeywords**:OCR 关键词配置
- `regex`:正则表达式
- `reply`:回复内容
- **fwdKeywords**:转发关键词配置
- `regex`:正则表达式(匹配时转发消息)
## 🔧 工作原理
### 智能文件识别流程
1. **群组识别**:自动识别当前群组属于哪个启动器的支持群
2. **文件检测**:检查上传的文件名是否匹配启动器错误报告格式
3. **智能引导**:
- ✅ **正确群组**:提示本群可以解决问题,提供技术支持群
- ❌ **错误群组**:引导用户到对应的技术支持群
### 对话记录功能
- 📁 **独立记录**:每个文件对应独立的记录文件
- ⏰ **时间窗口**:文件上传后4小时内的对话被记录
- 🔄 **智能关联**:白名单用户的回复会记录到相关的文件中
- 💾 **存储格式**:JSON格式,包含上传信息和对话记录
- 🎯 **精准匹配**:上传者的消息只记录到自己的文件中
- 📝 **缓存机制**:白名单用户消息智能缓存并关联到活跃文件
记录文件格式:
```json
{
"upload": {
"fileName": "minecraft-exported-crash-info-2025-07-14T09-19-43.zip",
"fileSendTime": "2025-07-14T01:20:14.581Z",
"channelId": "666546887"
},
"messages": [
{
"content": "缺前置mod",
"timestamp": "2025-07-14T01:20:56.245Z",
"userId": "3553841566"
}
]
}
```
## 🎨 使用场景
### 启动器技术支持群
- ✅ 自动识别错误文件类型
- ✅ 引导用户到正确的技术支持群
- ✅ 记录问题解决过程
- ✅ 防止重复回复刷屏
### 关键词自动回复
- ✅ 常见问题自动回复
- ✅ 支持正则表达式匹配
- ✅ 图片文字识别匹配
- ✅ 手动触发预设回复
### 消息转发
- ✅ 重要消息自动转发
- ✅ 图片OCR内容转发
- ✅ 关键词过滤转发
- ✅ 来源信息标记
## 💡 最佳实践
1. **配置建议**
- 为常见问题配置关键词自动回复
- 设置适当的白名单用户管理命令
- 启用防重复发送避免刷屏
2. **使用技巧**
- 使用正则表达式提高关键词匹配准确性
- 合理设置转发关键词减少噪音
- 定期查看对话记录了解用户问题
3. **维护建议**
- 定期更新关键词配置
- 清理过期的对话记录文件
- 监控转发消息质量