Files
abot/README.MD
2025-06-05 14:29:09 +08:00

295 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# A-BOT 智能助手
A-BOT是一个功能丰富的微信机器人助手集成了多种实用功能包括AI聊天、群智闯关、积分系统、新闻推送等。支持多种AI模型集成提供消息自动回复、群管理等功能。
## 📋 功能清单
### 1. 群智闯关
- 答题游戏系统
- 积分排行榜
- 任务管理
- 实时答题反馈
### 2. 积分交易系统
- 积分转账
- 积分查询
- 积分排行榜
- 打劫系统
- 保释功能
### 3. 全球快讯
- 国际政经新闻推送
- 实时新闻更新
### 4. AI聊天
- 智能对话
- 多模型支持Claude、DeepSeek、豆包等
- 自定义提示词模板
### 5. 媒体内容
- 秀人图片
- 猛男视频
- 美腿图片
- 音乐点播
- 抖音视频解析
### 6. 群管理功能
- 群自动邀请
- 插件管理系统
- 消息智能总结
- 数据库消息存档
### 7. 系统功能
- 每日签到系统
- 系统更新
- 视频分享
- 邮件通知系统
- 系统监控集成
## 🚀 安装说明
### 环境要求
- Python 3.10+
- MySQL 数据库
- Redis 服务
- Git用于系统更新
- 支持的操作系统Windows/Linux/MacOS
### server安装
- 复制wechat_ipad/server/下面的所有内容到你的服务器
- 修改conf下的文件[app.conf](wechat_ipad%2Fserver%2Fconf%2Fapp.conf)
- 将redis链接改成自己的redis配置
```
redislink = 192.168.2.40:6379
redispass = ""
redisdbnum = 7
```
- 配置完成之后运行server
```bash
sudo nohup ./linuxgo > /tmp/logger.log 2>&1 &
```
### 依赖安装
```bash
# 克隆项目
git clone https://github.com/your-username/abot.git
cd abot
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# 或
.venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 特别安装,pip 版本依赖不准确,需要单独安装
pip install pysilk-mod
```
### 主要依赖包
- lxml~=5.3.0
- openai>1.0.0
- pandas~=2.2.3
- pyyaml~=6.0.2
- requests~=2.32.3
- schedule~=1.2.2
- sparkdesk-api==1.3.0
- pillow~=11.0.0
- Flask~=3.1.0
- fastapi~=0.115.12
- uvicorn~=0.34.2
- 更多依赖请查看 requirements.txt
## ⚙️ 配置说明
### 1. 配置文件
配置文件位于 `config.yaml`,包含以下主要配置项:
#### 数据库配置
```yaml
db_config:
pool_name: "wechat_boot_pool"
pool_size: 10
host: "your-db-host"
user: "your-db-user"
password: "your-db-password"
database: "message_archive"
charset: "utf8mb4"
```
#### Redis配置
```yaml
redis_config:
host: "your-redis-host"
port: 6379
db: 0
decode_responses: true
```
### 2. 插件配置
#### AI聊天插件 (dify)
```yaml
Dify:
enable: true
commands: ["ai", "dify", "聊天", "AI"]
command-tip: "聊天 请求内容"
api-key: "your-dify-api-key"
base-url: "your-dify-base-url"
```
#### 音乐插件 (music)
```yaml
Music:
enable: true
command: ["点歌", "音乐"]
command-format: "点歌 歌曲名"
```
#### 群智闯关插件 (game_task)
```yaml
GameTask:
enable: true
command: ["/s", "/t", "/a", "/r", "/l", "/h"]
command-format: "游戏命令格式说明"
```
## 📖 使用说明
### 基础命令
1. 群智闯关
- `/s` - 加入答题游戏
- `/t` - 获取新问题
- `/a 任务ID 答案` - 回答问题
- `/r` - 查看排行榜
- `/l` - 查看活跃问题
- `/h` - 查看未解决问题
2. 积分系统
- `积分转账 积分数 @用户` - 转账积分
- `我的积分` - 查询积分
- `积分排行` - 查看排行榜
- `打劫 @用户` - 打劫积分
- `保释 @用户` - 保释用户
3. 新闻功能
- `全球新闻` - 获取国际新闻
- 支持:`国际新闻``环球新闻``政经新闻`
4. AI聊天
- `聊天 问题` - 与AI对话
- 支持:`ai``dify``AI` 开头
5. 插件管理
- `插件 列表` - 查看插件
- `插件 启用 [插件名]` - 启用插件
- `插件 禁用 [插件名]` - 禁用插件
- `插件 信息 [插件名]` - 查看插件信息
### 媒体功能
- `图来`/`秀人` - 获取图片
- `猛男` - 获取视频
- `美腿`/`腿来` - 获取美腿图片
- `点歌 歌曲名` - 点播音乐
- 直接发送抖音链接可自动解析
### 系统功能
- `签到` - 每日签到
- `更新系统` - 系统更新(管理员)
- `#总结` - 消息总结
## 📁 项目结构
```
abot/
├── admin/ # 管理后台相关代码
├── base/ # 基础功能模块
├── db/ # 数据库相关代码
├── plugins/ # 插件目录
├── resource/ # 资源文件
├── static/ # 静态文件
├── utils/ # 工具函数
├── wechat_ipad/ # 微信相关核心代码
├── config.yaml # 配置文件
├── main.py # 主程序入口
├── requirements.txt # 依赖列表
└── restart.sh # 重启脚本
```
## 🔧 开发说明
### 插件开发
1.`plugins` 目录下创建新的插件目录
2. 实现 `MessagePluginInterface` 接口
3.`config.toml` 中添加插件配置
4. 在插件管理器中注册插件
### 开发规范
- 遵循PEP 8编码规范
- 添加适当的注释
- 编写单元测试
- 更新文档
## ⚠️ 注意事项
1. 确保所有API密钥配置正确
2. 数据库和Redis服务必须正常运行
3. 建议使用虚拟环境运行项目
4. 定期检查日志文件wx_debug.log, wx_info.log, wx_error.log
5. 部分功能需要消耗积分
6. 部分功能需要管理员权限
7. 建议定期备份数据库
8. 请遵守相关法律法规使用
9. 注意API调用频率限制
## ❓ 常见问题
1. 依赖安装问题
```bash
python -m pip install --upgrade pip
```
2. 数据库连接问题
- 检查数据库服务是否运行
- 验证配置信息是否正确
- 确认数据库用户权限是否足够
3. Redis连接问题
- 检查Redis服务是否运行
- 验证配置信息是否正确
- 检查Redis服务器防火墙设置
4. API调用问题
- 确认API密钥是否正确
- 检查API服务是否可用
- 验证网络连接是否正常
## 🔄 更新日志
### v1.0.0
- 初始版本发布
- 基础功能实现
- 插件系统支持
## 🤝 贡献指南
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 📄 许可证
本项目采用 MIT 许可证,详见 LICENSE 文件。
## 📞 联系方式
- 项目维护者:水牛
- 邮箱bovine.liu@gmail.com
- 项目地址:待发布
## 🙏 致谢
感谢所有为本项目做出贡献的开发者。