# WX-Plugin
**Repository Path**: xialuo03/wx-plugin
## Basic Information
- **Project Name**: WX-Plugin
- **Description**: 1111111111
- **Primary Language**: Unknown
- **License**: EPL-1.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-04-11
- **Last Updated**: 2026-03-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WX-Plugin
✨ **修仙主题文字游戏插件** ✨
[](https://github.com/xialuo03/wx-plugin/releases)
[](https://gitee.com/xialuo03/wx-plugin)
[](LICENSE)
适配 [TRSS-Yunzai](https://github.com/TimeRainStarSky/Yunzai) 的修仙文字游戏插件
[快速开始](#-快速开始) • [功能介绍](#-核心特色) • [安装教程](#-安装教程) • [常见问题](#常见问题) • [开发指南](#-开发指南)
---
## 📖 插件介绍
WX-Plugin 是一款专为 TRSS 云崽机器人开发的修仙主题文字游戏插件。玩家可以在 QQ 群中体验完整的修仙世界,从凡人起步,历经修炼、战斗、结交道侣,最终问鼎仙途。
### 🎯 核心特色
- 💫 **完整修仙体系**:从练气到渡劫飞升,多重境界晋升
- ⚔️ **丰富战斗系统**:PVP 对战、装备锻造、功法学习
- 🏛️ **势力玩法**:创建宗门、势力战争、资源争夺
- 🏠 **府邸系统**:建立洞府、邀请好友、府邸升级
- 🎣 **多样生活**:钓鱼、采集、狩猎、挖矿等生活玩法
- 🐾 **灵宠培养**:收服灵兽、宠物成长、协助战斗
- 💰 **经济生态**:交易市场、商城系统、红包互动
- 🎁 **社交互动**:道侣系统、羁绊关系、签到赠礼
## 📦 安装教程
### 环境要求
- **TRSS-Yunzai** Bot(推荐最新版)
- **Node.js** v16.14.0 或更高版本
- **MySQL** 5.7+ 或 8.0+
- **Redis** 5.0+(可选,用于缓存优化)
### 方式一:Git 克隆(推荐)
在 Yunzai 根目录执行以下命令:
```bash
# 使用 Gitee(国内推荐)
git clone --depth=1 https://gitee.com/xialuo03/wx-plugin.git ./plugins/wx-plugin/
```
### 方式二:手动下载
1. 下载插件压缩包
- [Gitee 下载](https://gitee.com/xialuo03/wx-plugin/repository/archive/master.zip)
2. 解压后将文件夹重命名为 `wx-plugin`
3. 放置到 Yunzai 的 `plugins` 目录下
### 方式三:使用 TRSS 插件管理器
```bash
# 在 Yunzai 目录下执行
trss install wx-plugin
```
### 安装依赖
```bash
# 进入插件目录
cd plugins/wx-plugin
# 安装依赖(推荐使用 pnpm)
pnpm install -P
# 或使用 npm
npm install --production
```
## ⚙️ 数据库配置
### 步骤 1:安装数据库服务
#### MySQL 安装
- **Windows**:下载 [MySQL Installer](https://dev.mysql.com/downloads/installer/)
- **Linux**:`sudo apt-get install mysql-server`(Ubuntu/Debian)
- **使用宝塔面板**:在软件商店中一键安装 MySQL
#### Redis 安装(可选)
- **Windows**:下载 [Redis for Windows](https://github.com/tporadowski/redis/releases)
- **Linux**:`sudo apt-get install redis-server`
- **宝塔面板**:软件商店一键安装
### 步骤 2:创建数据库
登录 MySQL 后执行:
```sql
CREATE DATABASE wx_plugin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
### 步骤 3:配置连接信息
1. 复制配置模板:
```bash
# 在插件目录下执行
cp config/database.env.example config/database.env
```
2. 编辑 `config/database.env` 文件,填入你的数据库信息:
```env
# MySQL 配置
MYSQL_HOST=localhost # 数据库地址(本地填 localhost)
MYSQL_PORT=3306 # 数据库端口(默认 3306)
MYSQL_USER=root # 数据库用户名
MYSQL_PASSWORD=your_password # 数据库密码(请修改)
MYSQL_DATABASE=wx_plugin # 数据库名称
# Redis 配置(可选)
REDIS_HOST=127.0.0.1 # Redis 地址
REDIS_PORT=6379 # Redis 端口
REDIS_PASSWORD= # Redis 密码(无密码留空)
REDIS_DB=0 # Redis 数据库编号
```
⚠️ **安全提示**:
- 请勿将 `config/database.env` 文件上传到公开仓库
- 生产环境请使用强密码
- 建议为插件创建独立的 MySQL 用户
### 步骤 4:启动插件
1. 重启 Yunzai Bot
2. 插件会在启动时自动创建数据库表结构
3. 在 QQ 群中发送 `#修仙帮助` 查看功能列表
## 🎮 使用指南
### 快速开始
```
#修仙签到 # 注册账号/每日签到
#我的信息 # 查看个人信息
#修仙帮助 # 查看所有指令
```
### 主要功能指令
| 功能分类 | 指令示例 | 说明 |
|---------|---------|------|
| **基础** | `#修仙签到` `#我的信息` | 注册、签到、查看信息 |
| **修炼** | `#修炼` `#突破` `#学习功法` | 提升境界和战力 |
| **战斗** | `#切磋@某人` `#攻击@某人` | PVP 战斗 |
| **生活** | `#钓鱼` `#采集` `#狩猎` `#挖矿` | 获取资源 |
| **社交** | `#结为道侣@某人` `#红包` | 道侣、红包系统 |
| **势力** | `#创建势力` `#势力信息` | 宗门玩法 |
| **府邸** | `#创建府邸` `#府邸信息` | 洞府系统 |
| **宠物** | `#收服灵宠` `#我的灵宠` | 宠物培养 |
| **交易** | `#商店` `#市场` | 购买道具 |
> 详细指令请在群内发送 `#修仙帮助` 查看
## 📁 项目结构
```
wx-plugin/
├── Apps/ # 🎮 游戏功能模块
│ ├── Player/ # 玩家相关功能
│ ├── Influence/ # 势力系统
│ ├── Rooms/ # 府邸系统
│ ├── PVP/ # PVP 战斗
│ ├── Mall/ # 商城系统
│ ├── Wearhouse/ # 仓库系统
│ └── *.js # 其他功能文件
├── Module/ # 🔧 核心功能模块
│ ├── DatabaseModule/ # 数据库操作层
│ ├── PlayerModule/ # 玩家数据处理
│ ├── TimeModule/ # 定时任务模块
│ └── ... # 其他工具模块
├── Resources/ # 📦 资源文件
│ ├── ConfigJson/ # JSON 配置文件
│ ├── Html/ # HTML 模板
│ └── Pictures/ # 图片资源
├── config/ # ⚙️ 配置目录
│ ├── database.env # 数据库配置(需手动创建)
│ └── database.env.example # 配置模板
├── Database/ # 💾 数据库脚本
│ └── mysql_schema.sql # 数据库结构
├── index.js # 🚀 插件入口文件
└── package.json # 📋 项目配置
```
## ❓ 常见问题
❓ 数据库连接失败怎么办?
1. 检查 MySQL 服务是否启动(Windows 检查任务管理器中的 `mysqld.exe`)
2. 确认 `config/database.env` 配置是否正确
3. 测试数据库连接:`mysql -h localhost -u root -p`
4. 查看 Yunzai 日志中的详细错误信息
5. 确保已创建 `wx_plugin` 数据库
❓ Redis 连接失败会影响使用吗?
不会。Redis 为可选组件,失败会自动降级到 MySQL 缓存模式,不影响插件正常使用。但建议启用 Redis 以获得更好的性能。
插件不响应指令?
**排查清单**:
- ✅ 检查是否已完成数据库配置
- ✅ 确认指令格式是否正确(发送 `#修仙帮助` 查看)
- ✅ 查看 Yunzai 控制台是否有报错
- ✅ 尝试重启 Yunzai Bot
- ✅ 确认机器人在群内有消息权限
- ✅ 检查插件是否已启用
如何更新插件?
**保留数据更新**:
```bash
cd plugins/wx-plugin
git pull
pnpm install -P
# 重启 Yunzai
```
**完全重装**:
```bash
# 备份数据库
mysqldump -u root -p wx_plugin > backup_$(date +%Y%m%d).sql
# 删除旧插件并重新克隆
```
如何备份游戏数据?
**定期备份**:
```bash
mysqldump -u root -p wx_plugin > backup_$(date +%Y%m%d_%H%M%S).sql
```
**恢复备份**:
```bash
mysql -u root -p wx_plugin < backup_20240101_120000.sql
```
**建议**:每周至少备份一次,将备份文件存储到安全位置
❓ Puppeteer Chromium 启动失败怎么办?
如果遇到 `Failed to launch the browser process` 错误,请尝试以下解决方案:
**方案 1:手动设置环境变量**
在启动 Yunzai 前设置环境变量:
```bash
# 创建 Puppeteer 数据目录
mkdir -p ./data/puppeteer
chmod 755 ./data/puppeteer
# 设置环境变量
export PUPPETEER_USER_DATA_DIR=./data/puppeteer
export PUPPETEER_ARGS="--no-sandbox --disable-setuid-sandbox --disable-dev-shm-usage --disable-gpu --single-process"
# 启动 Yunzai
node app.js
```
**方案 2:使用 PM2 环境变量(如果使用 PM2)**
```bash
# 创建 Puppeteer 数据目录
mkdir -p ./data/puppeteer
chmod 755 ./data/puppeteer
# 设置 PM2 环境变量
pm2 set PUPPETEER_USER_DATA_DIR $(pwd)/data/puppeteer
pm2 set PUPPETEER_ARGS "--no-sandbox --disable-setuid-sandbox --disable-dev-shm-usage --disable-gpu --single-process"
# 重启应用
pm2 restart all --update-env
```
**方案 3:使用系统 Chromium**
如果 Puppeteer 自带的 Chromium 有问题,可以使用系统安装的 Chromium:
```bash
# Ubuntu/Debian
sudo apt-get install chromium-browser
export PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
# 启动 Yunzai
node app.js
```
## 🔧 性能优化
- **MySQL 连接池**:默认 50 个连接,高并发环境可适当增加
- **Redis 缓存**:强烈建议启用,可大幅提升查询性能
- **定时清理**:插件会自动清理过期缓存,无需手动维护
- **图片资源**:如遇性能问题,可考虑使用 CDN 加速
## 👨💻 开发指南
### 技术栈
- **运行环境**:Node.js v16+(ES Modules)
- **数据库**:MySQL 5.7+/8.0+
- **缓存**:Redis 5.0+
- **截图**:Puppeteer
### 代码规范
项目采用 ESLint (Airbnb) 规范:
```bash
# 检查代码规范
npm run lint
# 自动修复代码问题
npm run lint:fix
```
### 添加新功能
1. 在 `Apps/` 目录创建功能文件
2. 继承 `plugin` 基类
3. 定义 `rule` 规则匹配
4. 实现功能处理函数
5. 插件会自动加载
示例代码:
```javascript
import plugin from '../../lib/plugins/plugin.js';
export class MyFeature extends plugin {
constructor() {
super({
name: '我的功能',
event: 'message',
priority: 5000,
rule: [
{
reg: '^#测试指令$',
fnc: 'testFunction'
}
]
});
}
async testFunction(e) {
await e.reply('功能响应');
return true;
}
}
```
## 📄 许可协议
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
## 🤝 贡献与支持
### 参与贡献
欢迎提交 Issue 和 Pull Request!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 提交 Pull Request
### 问题反馈
- **Gitee Issues**:https://gitee.com/xialuo03/wx-plugin/issues
- **GitHub Issues**:https://github.com/xialuo03/wx-plugin/issues
### 交流群组
- **QQ 群**:[待添加]
- **作者**:[xialuo](https://gitee.com/xialuo03)
- **讨论区**:[Gitee 讨论](https://gitee.com/xialuo03/wx-plugin/discussions)
## 📚 更多资源
- **Yunzai 官方文档**:https://github.com/TimeRainStarSky/Yunzai
- **插件开发教程**:详见项目 Wiki(待补充)
- **更新日志**:[Releases](https://gitee.com/xialuo03/wx-plugin/releases)
---
**⭐ 如果觉得插件不错,欢迎点个 Star ⭐**
**💝 你的支持是我们继续开发的动力!**
Made with ❤️ by [xialuo](https://gitee.com/xialuo03)