7.5 KiB
7.5 KiB
WechatHookBot 项目概览
📁 当前项目结构
WechatHookBot/
├── docs/ # 📚 文档目录
│ ├── 项目概览.md # 本文件
│ ├── 快速开始.md # 安装和运行指南
│ ├── 架构设计.md # 技术架构文档
│ ├── 插件开发.md # 插件开发指南
│ └── API文档.md # API 接口文档
├── main_config.toml # ⚙️ 主配置文件
├── requirements.txt # 📦 Python 依赖
├── .gitignore # 🚫 Git 忽略文件
└── README.md # 📖 项目说明
📋 已完成的工作
✅ 文档系统
- README.md - 项目介绍和快速开始
- 架构设计.md - 完整的技术架构设计
- 插件开发.md - 详细的插件开发指南
- API文档.md - 完整的 API 接口文档
- 快速开始.md - 安装和运行教程
- 项目概览.md - 项目总览(本文件)
✅ 配置文件
- main_config.toml - 主配置文件模板
- requirements.txt - Python 依赖列表
- .gitignore - Git 忽略规则
🚧 待开发模块
第一阶段:核心框架(优先级:高)
WechatHook/ # Hook 层实现
├── __init__.py
├── loader.py # NoveLoader DLL 封装
├── client.py # WechatHookClient API 封装
├── message_types.py # 消息类型映射
└── callbacks.py # 回调处理器
任务清单:
- 实现 NoveLoader 类(基于 python_demo.py)
- 实现 WechatHookClient 类(封装所有 API)
- 定义消息类型映射表
- 实现回调处理系统
第二阶段:Bot 核心(优先级:高)
utils/ # 工具类(复用 XYBot)
├── __init__.py
├── plugin_base.py # ✅ 从 XYBot 复制
├── plugin_manager.py # ✅ 从 XYBot 复制
├── event_manager.py # ✅ 从 XYBot 复制
├── decorators.py # ✅ 从 XYBot 复制
├── singleton.py # ✅ 从 XYBot 复制
└── hookbot.py # ⚠️ 新实现(类似 xybot.py)
bot.py # 主入口(简化版)
任务清单:
- 从 XYBot 复制 utils/ 下的文件
- 实现 HookBot 类(消息处理核心)
- 实现 bot.py 主入口
- 适配消息格式(统一为 XYBot 格式)
第三阶段:数据库(优先级:中)
database/ # 数据库(复用 XYBot)
├── __init__.py
├── XYBotDB.py # ✅ 从 XYBot 复制
├── keyvalDB.py # ✅ 从 XYBot 复制
└── messsagDB.py # ✅ 从 XYBot 复制
任务清单:
- 从 XYBot 复制数据库文件
- 修改数据库名称(xybot.db → hookbot.db)
- 测试数据库功能
第四阶段:插件系统(优先级:中)
plugins/ # 插件目录
├── ExamplePlugin/ # 示例插件
│ ├── __init__.py
│ ├── main.py
│ └── config.toml
└── Menu/ # 菜单插件(从 XYBot 移植)
├── __init__.py
├── main.py
└── config.toml
任务清单:
- 创建 ExamplePlugin 示例插件
- 从 XYBot 移植 Menu 插件
- 测试插件兼容性
- 根据需要移植更多插件
第五阶段:WebUI(优先级:低,可选)
WebUI/ # Web 管理界面(复用 XYBot)
├── __init__.py
├── config.py
├── routes/ # 路由
├── services/ # 服务层
├── templates/ # 模板
└── static/ # 静态资源
app.py # WebUI 入口
任务清单:
- 从 XYBot 复制 WebUI 代码
- 适配 WechatHook API
- 实现 app.py 入口
- 测试 WebUI 功能
第六阶段:辅助功能(优先级:低)
libs/ # DLL 文件目录
├── Loader.dll # 从个微大客户版复制
└── Helper.dll # 从个微大客户版复制
logs/ # 日志目录(自动创建)
resources/ # 资源目录(自动创建)
任务清单:
- 准备 DLL 文件
- 实现日志系统
- 实现资源管理
📊 开发进度
| 阶段 | 模块 | 状态 | 进度 |
|---|---|---|---|
| 0 | 文档系统 | ✅ 完成 | 100% |
| 1 | WechatHook 层 | 🚧 待开发 | 0% |
| 2 | Bot 核心层 | 🚧 待开发 | 0% |
| 3 | 数据库 | 🚧 待开发 | 0% |
| 4 | 插件系统 | 🚧 待开发 | 0% |
| 5 | WebUI | 🚧 待开发 | 0% |
| 6 | 辅助功能 | 🚧 待开发 | 0% |
总体进度: 15% (文档完成)
🎯 下一步行动
立即开始(推荐顺序)
-
准备 DLL 文件
- 从个微大客户版复制
Loader.dll和Helper.dll到libs/目录
- 从个微大客户版复制
-
实现 WechatHook 层
- 参考
个微大客户版/python4.1.2.17Demo/python_demo.py - 实现
WechatHook/loader.py(NoveLoader 类) - 实现
WechatHook/client.py(WechatHookClient 类)
- 参考
-
复用 XYBot 代码
- 复制
XYBotV2/utils/到WechatHookBot/utils/ - 复制
XYBotV2/database/到WechatHookBot/database/
- 复制
-
实现 Bot 核心
- 参考
XYBotV2/utils/xybot.py实现utils/hookbot.py - 实现
bot.py主入口
- 参考
-
测试基础功能
- 创建简单的测试插件
- 测试消息收发
- 验证插件系统
📚 参考资料
内部文档
参考项目
XYBotV2/- 插件系统、事件管理、数据库个微大客户版/python4.1.2.17Demo/python_demo.py- DLL 调用示例个微大客户版/API/- API 接口文档
💡 开发建议
代码复用策略
- ✅ 完全复用:utils/(插件系统、事件管理、装饰器)
- ✅ 完全复用:database/(数据库层)
- ⚠️ 参考实现:hookbot.py(参考 xybot.py,但需适配)
- 🆕 全新实现:WechatHook/(Hook 层封装)
开发优先级
- 核心功能优先:先实现消息收发和插件系统
- 逐步完善:基础功能稳定后再添加 WebUI
- 测试驱动:每个模块完成后立即测试
注意事项
- 使用 32位 Python 开发和测试
- 保持与 XYBot 插件的兼容性
- 注意消息格式的统一转换
- 做好错误处理和日志记录
🔗 相关链接
- XYBotV2 项目:
D:\project\shrobot\XYBotV2\ - 个微大客户版:
D:\project\shrobot\个微大客户版\ - 当前项目:
D:\project\shrobot\WechatHookBot\
📝 更新日志
2025-01-XX
- ✅ 创建项目目录结构
- ✅ 完成所有文档编写
- ✅ 创建配置文件模板
- 🚧 准备开始代码实现
项目状态: 🚧 文档完成,代码开发中
预计完成时间: 2-3 天(基础框架)
当前任务: 实现 WechatHook 层