# 快速开始 ## 环境准备 ### 1. 系统要求 - ✅ Windows 系统(Win10/Win11) - ✅ Python 3.x **32位版本**(重要!) - ✅ 微信客户端已安装并登录 ### 2. 检查 Python 版本 ```bash python --version # 应显示 Python 3.x.x # 检查是否为 32位 python -c "import sys; print(sys.maxsize > 2**32)" # 应显示 False(表示 32位) ``` 如果是 64位 Python,需要下载安装 32位版本: https://www.python.org/downloads/ ## 安装步骤 ### 1. 克隆或下载项目 ```bash cd D:\project\shrobot # 项目已在 WechatHookBot 目录 ``` ### 2. 安装依赖 ```bash cd WechatHookBot pip install -r requirements.txt ``` ### 3. 准备 DLL 文件 将个微大客户版的 DLL 文件放到 `libs/` 目录: ``` WechatHookBot/ libs/ Loader.dll Helper.dll ``` ### 4. 配置文件 复制配置模板并修改: ```bash # main_config.toml 已存在,修改以下内容: ``` ```toml [Bot] admins = ["your_wxid"] # 改为你的 wxid ``` ## 运行 ### 方式一:简单启动(无 WebUI) ```bash python bot.py ``` ### 方式二:完整启动(带 WebUI) ```bash python app.py ``` 然后访问:http://localhost:9999 默认账号:admin / admin123 ## 第一次运行 1. **启动微信**:确保微信客户端已登录 2. **运行程序**:执行 `python bot.py` 3. **观察日志**:查看是否成功注入微信 4. **测试消息**:给机器人发送消息测试 ## 测试插件 ### 创建测试插件 在 `plugins/` 目录创建 `TestPlugin/` 文件夹: ``` plugins/ TestPlugin/ __init__.py # 空文件 main.py ``` `main.py` 内容: ```python from utils.plugin_base import PluginBase from utils.decorators import * from WechatHook import WechatHookClient from loguru import logger class TestPlugin(PluginBase): description = "测试插件" author = "Your Name" version = "1.0.0" @on_text_message async def handle_text(self, client: WechatHookClient, message: dict): content = message.get("Content", "") from_wxid = message.get("FromWxid", "") if content == "ping": await client.send_text(from_wxid, "pong") logger.info("收到 ping,回复 pong") ``` 重启程序,给机器人发送 "ping",应该会收到 "pong" 回复。 ## 常见问题 ### 1. DLL 注入失败 **现象:** 提示 "注入微信失败" **解决:** - 确认使用 32位 Python - 确认微信已登录 - 关闭杀毒软件或添加信任 - 以管理员身份运行 ### 2. 找不到 DLL 文件 **现象:** "Loader DLL 文件不存在" **解决:** - 检查 `libs/` 目录是否有 DLL 文件 - 检查 `main_config.toml` 中的路径配置 ### 3. 收不到消息 **现象:** 程序运行正常但收不到消息 **解决:** - 检查是否启用了白名单/黑名单过滤 - 查看日志是否有错误信息 - 确认插件已正确加载 ### 4. 发送消息失败 **现象:** 调用 send_text 返回 False **解决:** - 检查 wxid 是否正确 - 检查是否是好友/群成员 - 查看日志中的详细错误信息 ## 获取 wxid ### 方法一:通过日志 运行程序后,给机器人发送消息,在日志中可以看到: ``` 收到消息: FromWxid=wxid_xxx, Content=... ``` ### 方法二:通过 API 创建临时插件打印所有消息: ```python @on_text_message async def handle_text(self, client, message): logger.info(f"消息详情: {message}") ``` ## 下一步 - 📖 阅读 [插件开发指南](插件开发.md) - 🏗️ 了解 [架构设计](架构设计.md) - 📚 查看 [API 文档](API文档.md) - 🔌 开发自己的插件 ## 获取帮助 如遇到问题,请: 1. 查看日志文件 `logs/hookbot.log` 2. 检查配置文件是否正确 3. 确认环境要求是否满足 4. 查看项目文档