真寻Bot - 加群申请处理插件
November 20, 2025 · View on GitHub
一个功能强大的真寻Bot加群申请自动处理插件,支持QQ等级过滤、黑白名单验证、AI智能审核和申请统计查询。
功能特性
核心功能
- ✅ 自动处理加群申请: 根据配置的规则自动同意或拒绝加群申请
- 📋 群白名单管理: 仅处理白名单内的群组申请
- 🎯 QQ等级过滤: 支持全局和群专属的QQ等级要求
- ✍️ 加群理由验证: 支持正则表达式白名单规则,灵活验证加群理由
- 🚫 黑名单规则: 自动拒绝匹配黑名单规则的申请,并给出自定义拒绝理由
- 🔔 申请通知机制: 私聊通知指定管理员,支持直接回复处理申请
- 🤖 AI智能审核: 超时未处理的申请可由AI自动审核拒绝(仅拒绝权限)
- 📊 统计查询功能: 详细的申请统计、日志记录和用户查询
处理流程
- 白名单检查: 仅处理在白名单中的群组
- QQ等级检查: 验证申请人的QQ等级是否满足要求
- 黑名单检查: 优先级最高,匹配即拒绝
- 白名单验证: 加群理由是否匹配白名单正则规则
- 自动同意/通知: 通过所有检查后自动同意或通知管理员
- AI自动审核: 超时未处理的申请由AI分析并拒绝明显不合格的申请
安装
环境要求
- Python 3.10+
- 真寻Bot v0.0.1+
- NoneBot2
- OneBot V11 适配器
安装步骤
- 将插件文件夹放入真寻Bot的插件目录:
cd zhenxun_bot/plugins
git clone <repository-url> group_request_handler
- 安装依赖(如有额外依赖):
poetry install
# 或
pip install -r requirements.txt
- 重启真寻Bot即可自动加载插件
配置说明
全局配置参数
在真寻Bot的Web UI或配置文件中可以设置以下全局参数:
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ENABLED | bool | True | 是否启用加群申请处理功能 |
MIN_QQ_LEVEL | int | 16 | 全局最低QQ等级要求 |
REJECT_REASON | str | "抱歉,您的QQ等级过低..." | QQ等级不足时的拒绝理由 |
JOIN_REASON_PATTERN | str | r".*\d{6,}.*" | 全局加群理由正则表达式(默认要求6位以上数字) |
AUTO_APPROVE | bool | True | 通过所有检查后是否自动同意(false则提醒管理员) |
AI_AUTO_REVIEW_ENABLED | bool | True | 是否启用AI自动审核功能 |
AI_REVIEW_TIMEOUT | int | 180 | AI审核超时时间(秒),默认180秒(3分钟) |
AI_REVIEW_MODEL | str | None | AI审核使用的模型(格式: Provider/Model),留空使用全局默认 |
AI_MIN_CONFIDENCE | float | 0.8 | AI审核最低置信度(0.0-1.0),低于此值不自动处理 |
群专属配置
每个群可以设置专属配置,优先级高于全局配置:
- 群专属最低QQ等级
- 群专属加群理由白名单规则(支持多条)
- 群专属黑名单规则(支持多条,带自定义拒绝理由)
- 群专属提醒用户列表
使用指南
群内管理命令(管理员权限)
白名单管理
加群白名单 # 查看当前群是否在白名单中
添加加群白名单 # 将当前群添加到白名单
移除加群白名单 # 将当前群从白名单移除
提醒用户管理
加群提醒列表 # 查看当前群的提醒用户列表
添加加群提醒 123456789 # 添加提醒用户
移除加群提醒 123456789 # 移除提醒用户
白名单规则管理
查看加群理由规则 # 查看当前群的白名单规则列表
添加加群理由规则 ^邀请码:[A-Z0-9]{6}$ # 添加白名单规则(正则表达式)
删除加群理由规则 1 # 删除指定索引的规则
清空加群理由规则 # 清空当前群的所有白名单规则
黑名单规则管理
查看加群黑名单 # 查看当前群的黑名单规则列表
添加加群黑名单 .*垃圾.* 加群理由包含不当内容 # 添加黑名单规则
删除加群黑名单 1 # 删除指定索引的规则
清空加群黑名单 # 清空当前群的所有黑名单规则
统计查询
加群统计 # 查看本群统计和最近10条记录
加群统计 20 # 查看本群统计和最近20条记录
加群统计 0 # 只显示统计,不显示记录
AI审核统计 # 查看本群AI审核统计
加群处理状态 # 查看当前群的配置状态
私聊管理命令(超级用户)
帮助与查询
加群管理帮助 # 查看私聊管理命令帮助
加群白名单列表 # 查看所有群的白名单状态
查看加群状态 123456789 # 查看指定群的配置
查看加群统计 # 查看所有群的统计汇总
查看加群统计 123456789 # 查看指定群的统计
AI审核统计 # 查看所有群AI审核统计
AI审核统计 123456789 # 查看指定群AI审核统计
查看加群日志 123456789 20 # 查看指定群的详细日志(默认10条)
查询用户申请 123456 789012345 # 查询用户在指定群的通过记录
白名单管理
添加加群白名单 123456789 # 添加群到白名单
移除加群白名单 123456789 # 移除群白名单
提醒用户管理
设置加群提醒 123456789 111111,222222 # 设置群的提醒用户(逗号分隔)
等级管理
设置最低等级 123456789 20 # 设置群的最低QQ等级要求
移除最低等级 123456789 # 移除群的专属等级要求
白名单规则管理
添加加群规则 123456789 ^邀请码:[A-Z0-9]{6}$ # 添加群的白名单规则
删除加群规则 123456789 1 # 删除群的白名单规则
清空加群规则 123456789 # 清空群的白名单规则
黑名单规则管理
添加加群黑名单 123456789 .*广告.* 禁止广告 # 添加群的黑名单规则
删除加群黑名单 123456789 1 # 删除群的黑名单规则
清空加群黑名单 123456789 # 清空群的黑名单规则
申请通知机制
当有加群申请需要审核时,系统会私聊通知所有提醒用户。管理员可以直接回复Bot的通知消息来处理申请:
回复 "同意" - 同意该申请
回复 "拒绝" - 拒绝该申请(使用默认理由)
回复 "拒绝 理由过于简单" - 拒绝该申请并指定理由
AI自动审核机制
AI审核特点:
- 🤖 仅拒绝权限: AI只能拒绝明显不合格的申请,无批准权限
- ⏱️ 超时触发: 申请通知后,指定时间内无人处理才触发AI审核
- 🎯 精准拒绝: AI会给出具体的拒绝理由(如"未提供邀请码"、"答案无意义")
- 📊 置信度控制: 只有置信度≥设定阈值时才执行拒绝
- 🔔 事后通知: AI拒绝后会通知管理员处理结果
AI审核流程:
- 申请未通过自动规则,通知管理员
- 管理员在设定时间内未处理
- AI分析申请内容,识别明显问题
- 置信度足够高时自动拒绝
- 通知管理员AI的处理结果
AI可识别的问题:
- 未回答必填问题(如未提供邀请码)
- 答非所问(邀请码填"不知道")
- 过于敷衍("看看"、"玩玩")
- 疑似机器人(单一字符、重复内容)
- 违规内容(广告、不当言论)
数据存储
插件会在 data/group_request_handler/ 目录下存储以下数据文件:
whitelist.json- 群白名单notify_users.json- 提醒用户配置patterns.json- 白名单规则配置min_levels.json- 群专属等级配置blacklist.json- 黑名单规则配置pending_requests.json- 待处理申请(含超时控制)statistics.json- 统计数据(含AI审核统计)request_logs.json- 申请日志(最近1000条)
所有数据都以JSON格式存储,可手动编辑(需重启生效)。
使用场景示例
场景1: 邀请码验证群
需求: 只允许有邀请码的用户加入,邀请码格式为6位大写字母+数字
配置步骤:
# 群内执行
添加加群白名单
添加加群理由规则 ^邀请码:[A-Z0-9]{6}$
添加加群提醒 管理员QQ号
效果:
- 加群理由符合"邀请码:ABC123"格式的自动通过
- 不符合格式的通知管理员
- AI会拒绝"邀请码为空"或"邀请码:不知道"等明显无效申请
场景2: 防广告群
需求: 拒绝含有广告、引流等违规内容的申请
配置步骤:
# 群内执行
添加加群白名单
添加加群黑名单 .*(广告|推广|引流|加V|微信).* 禁止广告内容
添加加群黑名单 .*http[s]?://.* 禁止包含链接
效果:
- 加群理由包含"广告"、"推广"、"http://"等关键词的直接拒绝
- 黑名单优先级高于白名单,匹配即拒
- AI会额外识别隐蔽的广告内容
场景3: 高质量社群
需求: 只允许高等级、有明确目的的用户加入
配置步骤:
# 私聊执行(超级用户)
设置最低等级 群号 32
添加加群规则 群号 .{20,} # 要求加群理由至少20个字符
设置加群提醒 群号 管理员1,管理员2,管理员3
# 群内执行
添加加群黑名单 ^(看看|玩玩|随便|不知道)$ 理由过于简单
效果:
- QQ等级低于32的直接拒绝
- 加群理由少于20字的通知管理员
- 敷衍理由的直接拒绝
- AI会拒绝"."、"1"等无意义申请
注意事项
-
权限配置:
- 群内命令需要Bot在该群的管理员权限(5级)
- 私聊命令仅超级用户可用
-
正则表达式:
- 白名单规则使用正则表达式匹配,任意一条匹配即通过
- 黑名单规则使用正则表达式匹配,任意一条匹配即拒绝
- 黑名单优先级高于白名单
-
等级检查:
- 群专属等级配置优先于全局配置
- 等级检查在黑白名单验证之前
-
白名单机制:
- 如果白名单为空,则处理所有群的申请
- 如果白名单非空,仅处理白名单内的群
-
申请通知:
- 需要配置提醒用户才能收到通知
- 回复消息必须回复Bot发送的通知消息
- 申请记录会在24小时后自动清理
-
AI审核限制:
- AI只能拒绝申请,无批准权限
- 需要在配置中启用
AI_AUTO_REVIEW_ENABLED - 置信度低于阈值时AI不会自动处理
- AI审核失败会降级为人工处理
-
数据备份:
- 定期备份
data/group_request_handler/目录 - 统计数据和日志可能随使用增长
- 定期备份
常见问题
Q1: 插件不工作?
A: 检查以下项:
- 插件是否正确加载(查看Bot启动日志)
- 全局配置
ENABLED是否为True - 群是否在白名单中(或白名单是否为空)
- Bot是否有处理加群请求的权限
Q2: 如何测试配置是否生效?
A: 使用小号发送加群申请测试,或使用 加群处理状态 命令查看当前配置。
Q3: AI审核不生效?
A: 检查以下项:
- 配置
AI_AUTO_REVIEW_ENABLED是否为True - 是否安装并配置了真寻Bot的LLM服务
- 申请是否已通过其他规则自动处理(AI只处理超时未处理的申请)
- AI置信度是否低于设定阈值
Q4: 如何查看某个用户的申请历史?
A: 使用私聊命令:
查询用户申请 用户QQ号 群号
Q5: 日志数据会无限增长吗?
A: 不会,日志文件限制为最近1000条记录,超出后自动删除旧记录。
Q6: AI会批准申请吗?
A: 不会。AI只有拒绝权限,没有批准权限。即使AI认为申请没问题,也会继续等待人工审核。
贡献
欢迎提交Issue和Pull Request!
作者
- BingZi-233
许可证
本项目使用 MIT 许可证 - 详见 LICENSE 文件