这是一个基于 Python 和 Napcat 机器人框架的群组管理脚本,用于自动监控和管理聊天群组,支持违规内容检测、自动处罚及管理员手动操作,有效维护群组秩序。
功能特点
- 自动违规检测:支持违禁词、广告、刷屏等违规行为的自动识别
- 分级处罚机制:根据违规严重程度执行不同处罚(禁言、踢出、封禁)
- 管理员命令系统:支持手动禁言、解封、查看用户状态等操作
- 斩云睡觉模式:针对斩云的睡觉模式
- 完整日志记录:所有操作和事件均记录日志,便于追溯和调试
- 高可靠性:支持自动重连,处理各类异常情况
环境要求
- Python 3.7+
- 依赖库:
websockets
安装步骤
- 克隆或下载本项目代码
- 安装依赖:
pip install websockets
配置说明
在代码头部的配置区域进行必要设置:
# 服务器配置 WS_URL = "ws://ip:port" # WebSocket服务器地址 ACCESS_TOKEN = "TOKEN" # 访问令牌 # 群组配置 ADMIN_GROUP_ID = 123456789 # 管理群组ID ENABLED_GROUPS = { # 启用机器人的群组列表 123456789, 987654321 } # 特殊用户配置 SLEEP_TARGET_ID = 1724270068 # 战云ID
违规检测规则
违禁词分级
- LEVEL_3_WORDS:直接踢出并封禁 30 天
- 例如:
kukemc
、kuke
、酷可
等
- 例如:
- LEVEL_2_WORDS:禁言 1 天
- 例如:
以色列
、女大
、特朗普
等
- 例如:
- LEVEL_1_WORDS:禁言 10 分钟
- 例如:侮辱性词汇
广告检测
自动识别以下广告特征:
- 长数字(可能是 QQ / 电话号码)
- QQ 号格式(如
QQ123456
) - 加群邀请
- 微信相关关键词(
vx
、wx
、weixin
)
刷屏检测
5 秒内发送 3 条以上消息将被判定为刷屏,执行禁言 30 分钟处罚。
管理员命令
命令 | 功能 | 用法 |
---|---|---|
!help | 显示帮助信息 | !help |
!status | 查看用户状态 | !status <用户ID> |
!mute | 禁言用户 | !mute <用户ID> <分钟> |
!unmute | 解除禁言 | !unmute <用户ID> |
!ban | 封禁用户 | !ban <用户ID> |
!unban | 解封用户 | !unban <用户ID> |
启动战云睡觉模式 | 禁言目标用户 8 小时 | 直接发送该文本 |
运行方法
python napcat_bot.py
程序将在控制台输出运行状态,并将日志同时记录到bot.log
文件中。
注意事项
- 请确保配置的
ENABLED_GROUPS
群组 ID 正确,机器人仅在这些群组中生效 - 管理员命令仅群组所有者和管理员可使用
- 日志文件
bot.log
会随着使用不断增长,建议定期清理或归档 - 如遇连接问题,请检查网络环境和 WebSocket 服务器地址是否正确
异常处理
- 网络中断时,程序会自动尝试重连
- 所有操作错误都会记录到日志,便于排查问题
- 支持通过 Ctrl+C 优雅退出程序
(注:部分内容由 AI 生成)