From b5e873532d9f879cfe05828f49e8a68bc5cb944b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=A0=E6=AA=AC=E5=86=B2=E6=B0=B4?= <916415899@qq.com> Date: Sun, 9 Jun 2024 00:00:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=AC=A6=E5=90=88=E5=BD=93=E5=89=8D=E4=BB=93=E5=BA=93=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9A=84=E6=96=87=E6=A1=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 186 +++++++++++++++++++++++++----------------------------- 1 file changed, 85 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 9166236..ef3f317 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,88 @@ # Miao-Yunzai v3 -基于乐神版[云崽v3.0](https://gitee.com/le-niao/Yunzai-Bot) 改造 +基于乐神版[云崽v3.0](https://gitee.com/le-niao/Yunzai-Bot) 改造,需要同时安装[miao-plugin](https://github.com/yoimiya-kokomi/miao-plugin.git) -需要同时安装[miao-plugin](https://github.com/yoimiya-kokomi/miao-plugin.git) ,且后续的一些底层改造可能会改变数据结构,无法直接迁回原版Yunzai,请根据自己需求情况慎重安装 +对数据结构进行了改造,无法直接迁回原版Yunzai,请根据自己需求情况慎重安装! 使用[icqq](https://github.com/icqqjs/icqq) 登录,防止oicq可能出现的低版本问题 ---- -与原版Yunzai-Bot的差异: +## 使用方法 + +> 运行环境: Windows or Linux,Node.js( [版本至少v16.14.0以上](http://nodejs.cn/download/) ), [Redis](https://redis.io/docs/getting-started/installation/ ) + +> Node.js 版本请积极使用nvm进行管理 + +1.克隆项目并安装miao-plugin + +> 请根据网络情况选择Github安装或Gitee安装 + +```sh +# 使用 Github +git clone --depth=1 https://github.com/yoimiya-kokomi/Miao-Yunzai.git +cd Miao-Yunzai +git clone --depth=1 https://github.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/ +``` + +```sh +# 使用Gitee +git clone --depth=1 https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git +cd Miao-Yunzai +git clone --depth=1 https://gitee.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/ +``` + +2.安装[pnpm](https://pnpm.io/zh/installation) ,已安装的可以跳过 + +```sh +npm install pnpm -g +``` + +3.安装依赖 +> 外网环境请注释修改.npmrc的本地npm配置 +```sh +# 直接安装 +pnpm install -P +``` + +4.运行(首次运行按提示输入登录) + +```sh +node app +``` + +## 常见问题 + +### 无头浏览器相关 + +linux环境,其他环境请自行探索 + +```sh +puppeteer Chromium 启动中... + Error: Failed to launch the browser process! +``` + +### 依赖库 + +```sh +yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y +``` + +### 乱码字体 + +```sh +yum groupinstall fonts -y +``` + +### centos7 监听事件错误 "CXXABI_1.3.8" not found 解决办法 + +下载 [libstdc++.so.6.0.29.zip](https://baiyin1314.lanzouq.com/i8Nr21ig8hyf) 将 **解压缩后** 的文件放在/usr/lib64/中 + +```sh +cd /usr/lib64/ +sudo mv libstdc++.so.6 libstdc++.so.6.bak +sudo ln -s libstdc++.so.6.0.29 libstdc++.so.6 +``` + +## 与原版Yunzai-Bot的差异 **【注意】:** 由于是独立新的仓库,【只建议新部署/部署后迁移】,不建议原Bot直接换源强更 @@ -17,110 +92,19 @@ * **默认启用喵版的功能:** 【#角色】【#深渊】【#帮助】等功能默认启用喵版,原版的逻辑会屏蔽,以便于后续逐步精简资源 * **一键迁移 TRSS-Yunzai:** 若无法登录QQ,可尝试 `node trss` 迁移,迁移后可登录其他协议端 [TRSS-Yunzai](https://gitee.com/TimeRainStarSky/Yunzai) -## Miao-Yunzai后续计划 +## Miao-Yunzai 的修改 -先刨坑,但也许会咕咕咕 +[√] 角色卡片、抽卡分析等使用`miao-plugin`版本 -* 功能与`miao-plugin`部分功能进行整合或升级 - * [√] 角色卡片、抽卡分析等使用`miao-plugin`版本 - * `miao-plugin`的帮助、设置、版本信息会升至`Miao-Yunzai`,以支持更多场景 -* 一些底层会与`miao-plugin`做更深层的联动,以支持一些高级功能 - * [√] 星铁底层支持,原神&星铁多UID支持 - * 基于面板信息的uid管理及认证 - * ck切换感知等 -* 逐步实验一些新的特性 - * 更完备的plugin基础能力支持 - * 第三方 IM / Bot / WebAPI 对接或适配等 +[√] 星铁底层支持,原神&星铁多UID支持 项目仅供学习交流使用,严禁用于任何商业用途和非法行为 -## 使用方法 +## 开发者 -> 环境准备: Windows or Linux,Node.js( [版本至少v16以上](http://nodejs.cn/download/) ), [Redis](https://redis.io/docs/getting-started/installation/ ) - -1.克隆项目并安装miao-plugin - -请根据网络情况选择Github安装或Gitee安装 - -``` -# 使用 Github -git clone --depth=1 https://github.com/yoimiya-kokomi/Miao-Yunzai.git -cd Miao-Yunzai -git clone --depth=1 https://github.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/ - - -# 使用Gitee -git clone --depth=1 https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git -cd Miao-Yunzai -git clone --depth=1 https://gitee.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/ -``` - -2.安装[pnpm](https://pnpm.io/zh/installation) ,已安装的可以跳过 - -``` -# 使用npmjs.org安装 -npm install pnpm -g - -# 指定国内源npmmirror.com安装 -npm --registry=https://registry.npmmirror.com install pnpm -g -``` - -3.安装依赖 - -``` -# 直接安装 -pnpm install -P - -# 如依赖安装缓慢或失败,可尝试更换国内npm源后再执行install命令 -pnpm config set registry https://registry.npmmirror.com -pnpm install -P -``` - -4.运行(首次运行按提示输入登录) - -``` -node app -``` - -## 常见问题 - -### puppeteer 相关问题 - -linux环境,其他环境请自行探索 - -```sh - puppeteer Chromium 启动中... - Error: Failed to launch the browser process! -``` - -1. 先检查node版本是否大于14 (不大于14请去升级版本) - -```sh - node -v -``` - -2. 如果大于14 则可能是缺失一些库 请安装这些 (点击代码块右上角直接复制,如果报错可以尝试 sudo) - -### 依赖库 - -```sh - yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y -``` - -### 乱码字体解决办法(centos,安装不了请换源) - -```sh - yum groupinstall fonts -y -``` - -### centos7 监听事件错误 "CXXABI_1.3.8" not found 解决办法 -下载 [libstdc++.so.6.0.29.zip](https://baiyin1314.lanzouq.com/i8Nr21ig8hyf) 将 **解压缩后** 的文件放在/usr/lib64/中 -``` -cd /usr/lib64/ -sudo mv libstdc++.so.6 libstdc++.so.6.bak -sudo ln -s libstdc++.so.6.0.29 libstdc++.so.6 -``` +如果你是机器人插件生态开发的参与者,你可能需要阅读dev分支。 +它有助于你了解数据类型和未来将要发展的版本。 ## 致谢 From 8826627e5cf006a22ff8a01057464bc8a7b7f8e5 Mon Sep 17 00:00:00 2001 From: SmallK111407 <3399280843@qq.com> Date: Sun, 9 Jun 2024 04:00:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96log.js=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=20=E9=98=B2=E6=AD=A2=E7=89=B9=E5=AE=9A=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8Bspawn=E6=8A=A5=E9=94=99=20;=20=E7=BB=86=E8=8A=82?= =?UTF-8?q?=E4=BC=98=E5=8C=96README.md=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ lib/tools/log.js | 25 +++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ef3f317..93a13e7 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ node app ## 常见问题 +
展开/收起 + ### 无头浏览器相关 linux环境,其他环境请自行探索 @@ -82,6 +84,8 @@ sudo mv libstdc++.so.6 libstdc++.so.6.bak sudo ln -s libstdc++.so.6.0.29 libstdc++.so.6 ``` +
+ ## 与原版Yunzai-Bot的差异 **【注意】:** 由于是独立新的仓库,【只建议新部署/部署后迁移】,不建议原Bot直接换源强更 diff --git a/lib/tools/log.js b/lib/tools/log.js index 33799aa..5cbacaa 100644 --- a/lib/tools/log.js +++ b/lib/tools/log.js @@ -3,9 +3,9 @@ import childProcess from "child_process" const _path = process.cwd() -fs.readFile(`${_path}/config/pm2/pm2.json`, `utf8`, (err, data) => { +fs.readFile(`${_path}/config/pm2/pm2.json`, "utf8", (err, data) => { if (err) { - console.log('pm2.json文件读取错误:', err) + console.error("pm2.json文件读取错误:", err) return } @@ -15,18 +15,27 @@ fs.readFile(`${_path}/config/pm2/pm2.json`, `utf8`, (err, data) => { const appName = config.apps[0].name runPm2Logs(appName) } else { - console.log('读取失败:无法在pm2.json中找到name数组') + console.error("读取失败:无法在pm2.json中找到name数组") } } catch (parseError) { - console.log('读取失败:json文件解析发生了错误', parseError) + console.error("读取失败:json文件解析发生了错误", parseError) } }) function runPm2Logs(appName) { - const command = process.platform === 'win32' ? 'pm2.cmd' : 'pm2' - const args = ['logs', '--lines', '400', appName] - const pm2LogsProcess = childProcess.spawn(command, args, { stdio: 'inherit' }) - pm2LogsProcess.on('exit', (code) => { + const command = process.platform === "win32" ? "pm2.cmd" : "pm2" + const args = ["logs", "--lines", "400", appName] + + console.log(`Command: ${command}`) + console.log(`Args: ${args.join(" ")}`) + + const pm2LogsProcess = childProcess.spawn(command, args, { stdio: "inherit", shell: true }) + + pm2LogsProcess.on("error", (error) => { + console.error("Error spawning pm2 logs process:", error) + }) + + pm2LogsProcess.on("exit", (code) => { if (code !== 0) { console.error(`pm2 logs process exited with code ${code}`) } From 677d7d40820ad5b0f84fe205d8518ba27fc65aec Mon Sep 17 00:00:00 2001 From: SmallK111407 <3399280843@qq.com> Date: Sun, 9 Jun 2024 04:03:50 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BF=98=E8=AE=B0=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=86=85=E5=AE=B9=E4=BA=86(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/log.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tools/log.js b/lib/tools/log.js index 5cbacaa..0c0abbb 100644 --- a/lib/tools/log.js +++ b/lib/tools/log.js @@ -26,8 +26,8 @@ function runPm2Logs(appName) { const command = process.platform === "win32" ? "pm2.cmd" : "pm2" const args = ["logs", "--lines", "400", appName] - console.log(`Command: ${command}`) - console.log(`Args: ${args.join(" ")}`) + // console.log(`Command: ${command}`) + // console.log(`Args: ${args.join(" ")}`) const pm2LogsProcess = childProcess.spawn(command, args, { stdio: "inherit", shell: true })