6b9bdeeff2ac5feab2eb385b45cf0433ef89776a
* fix(discord): 修复 WebSocket 连接检测并增强跨平台文件处理 修复 Discord WebSocket 连接检测逻辑,使用正确的属性检查连接状态 为跨平台消息处理添加文件类型支持,并增加详细的调试日志 优化附件处理逻辑,确保所有文件类型都能正确识别和转发 * feat(跨平台): 优化消息处理并添加纯文本提取功能 添加 extract_text_only 函数过滤非文本标记 修改翻译逻辑仅处理纯文本内容 完善附件处理和消息内容拼接 修复仅包含表情时的消息处理问题 * refactor(discord-cross): 使用模块专用日志记录器替换全局日志记录器 将各模块中的全局日志记录器替换为模块专用日志记录器,以提供更清晰的日志来源标识 同时在适配器中添加会话状态检查和重连机制,提升消息发送的可靠性 * feat(翻译): 改进翻译功能,同时显示原文和译文 修改翻译功能,不再替换原文而是同时显示原文和翻译内容,方便用户对照 更新 DeepSeek API 配置为官方地址和模型 优化 Discord 适配器的重连逻辑,直接关闭 WebSocket 触发重连 修复 Discord 频道 ID 转换逻辑,简化处理流程 * feat(cross-platform): 添加跨平台功能支持及配置优化 - 新增跨平台配置模型和全局配置支持 - 优化 Discord 适配器的连接管理和错误处理 - 添加 watchdog 和 discord.py 依赖 - 创建 DeepSeek API 配置文档 - 移除重复的同步帮助图片代码 - 改进跨平台插件配置加载逻辑 * fix(jrcd): 修正群组ID检查条件 删除不再使用的示例插件文件 * feat: 改进配置加载逻辑并更新项目配置 当配置文件不存在时自动生成示例配置 添加pyproject.toml作为项目构建配置 更新.gitignore忽略更多文件类型 删除不再使用的反向WebSocket示例文件 * docs: 更新架构文档和项目结构说明 添加反向WebSocket连接模式说明 补充核心管理器文档 更新项目结构文件 在文档首页添加特色功能说明 * fix(discord): 修复WebSocket连接检查并添加错误日志 refactor(config): 更新配置文件的网络和认证信息 feat(cross-platform): 为跨平台消息处理添加异常捕获和日志
Calglau BOT by NEO Bot Framework
[INTERNAL USE ONLY]
本仓库为 Calglau BOT 的内部开发版本,请遵守相关保密协议。
Powered by NEO Bot Framework
项目概述
Calglau BOT 是一个基于 NEO Bot Framework 构建的高性能 QQ 机器人。
简单来说:扣一
核心特性
- 模块化插件架构:所有功能都在
plugins/目录,开发者可轻松扩展 - 性能优化:
- Python 3.14 JIT:运行时热点代码编译成机器码
- Mypyc AOT编译:核心模块编译为C扩展
- 全局连接复用:HTTP 和 Redis 连接池化管理
- 开发者友好:完整的类型提示,清晰的 API 设计
- 集成 Redis 缓存:缓存帮助图片、权限数据、会话状态等
- 正向 WebSocket 连接:仅支持正向WS连接模式(Bot主动连接OneBot)
技术栈
- 核心框架: Python 3.14 JIT & NEO Bot Framework
- 编译器: Mypyc
- 异步核心:
asyncio+uvloop(Linux) / 原生 Loop (Windows) - 网络通信:
websockets(OneBot v11),aiohttp(Shared Session) - 浏览器引擎:
Playwright(Chromium) + Page Pool - 数据序列化:
orjson - 缓存:
Redis - 日志:
Loguru
项目结构
.
├── plugins/ # 插件目录,业务逻辑都在这
│ ├── admin.py # 权限管理(Admin/User两级权限)
│ ├── auto_approve.py # 自动同意好友请求和群邀请
│ ├── bot_status.py # Bot运行状态查询(图片形式)
│ ├── broadcast.py # 管理员专用广播功能
│ ├── code_py.py # Python代码沙箱执行
│ ├── echo.py # Echo/点赞功能
│ ├── furry.py # Furry图片获取
│ ├── github_parser.py # GitHub仓库链接解析
│ ├── jrcd.py # 今日人品/长度查询
│ ├── thpic.py # 东方Project随机图片
│ ├── web_parser/ # Web链接解析系统(B站、抖音、GitHub等)
│ └── sync_async_test_plugin.py # 异步同步混用测试插件
├── core/ # 框架核心,非请勿动
│ ├── api/ # OneBot API 封装
│ ├── handlers/ # 事件处理器
│ ├── managers/ # 各种管理器 (指令, 浏览器, 图片, 插件, 权限)
│ ├── utils/ # 工具函数
│ ├── ws.py # WebSocket 通信层 (已编译)
│ ├── bot.py # Bot 实例
│ ├── config_loader.py # 配置加载
│ └── permission.py # 权限枚举
├── data/ # 数据存储
│ ├── admin.json # 管理员名单
│ └── permissions.json # 权限配置
├── models/ # 数据模型
│ ├── events/ # OneBot事件模型
│ ├── message.py # 消息段模型
│ ├── sender.py # 发送者信息
│ └── objects.py # API响应对象
├── templates/ # Jinja2模板(用于图片生成)
├── docs/ # 开发文档
├── tests/ # 单元测试
├── setup_mypyc.py # Mypyc编译脚本
├── config.toml # 配置文件
└── main.py # 启动入口
快速开始
1
- 装环境: Python 3.14,Redis, OneBot 客户端 (推荐 NapCat)。
- 装依赖:
pip install -r requirements.txt - 装浏览器:
playwright install chromium - 编译核心 (可选):
python setup_mypyc.py build_ext --inplace - 启动:
python -X jit main.py
详细文档去 docs/ 目录看
Description
Languages
Python
86.8%
HTML
13.2%