对一些异常情况的提示进行微淘
This commit is contained in:
parent
c30f0dac9b
commit
d459e853d3
35
README.md
35
README.md
|
@ -1,19 +1,23 @@
|
||||||
# Miao-Yunzai v3
|
# 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) ,且后续的一些底层改造可能会改变数据结构,无法直接迁回原版Yunzai,请根据自己需求情况慎重安装
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
与原Yunzai独立的仓库,去除了较为敏感的签到功能,以尝试恢复[Github](https://github.com/yoimiya-kokomi/Miao-Yunzai.git)
|
与原Yunzai独立的仓库,去除了较为敏感的签到功能,以尝试恢复[Github](https://github.com/yoimiya-kokomi/Miao-Yunzai.git)
|
||||||
环境。附加[Gitee](https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git)
|
环境。附加[Gitee](https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git)
|
||||||
|
|
||||||
* 由于是独立新的仓库,只建议新部署/迁移,不建议原Bot直接换源
|
* 由于是独立新的仓库,【只建议新部署/部署后迁移】,不建议原Bot直接换源强更
|
||||||
* 使用icqq登录,防止oicq可能出现的低版本问题(如只需要此特性,可使用[Yunzai-V3](https://gitee.com/yoimiya-kokomi/Yunzai-Bot) )
|
* 使用icqq登录,防止oicq可能出现的低版本问题(如只需要此特性,可使用[Yunzai-V3](https://gitee.com/yoimiya-kokomi/Yunzai-Bot) )
|
||||||
* 基础功能会保持与Yunzai同步迭代更新,如只需原版Yunzai无需切换
|
* 基础功能会保持与Yunzai同步迭代更新,如只需原版Yunzai功能则无需切换
|
||||||
|
|
||||||
## Miao-Yunzai后续计划
|
## Miao-Yunzai后续计划
|
||||||
|
|
||||||
先刨坑,但也许会咕咕咕
|
先刨坑,但也许会咕咕咕
|
||||||
|
|
||||||
* 默认集成`miao-plugin`,部分功能进行整合或升级
|
* 功能与`miao-plugin`部分功能进行整合或升级
|
||||||
* 角色卡片、抽卡分析等使用`miao-plugin`版本
|
* 角色卡片、抽卡分析等使用`miao-plugin`版本
|
||||||
* `miao-plugin`的帮助、设置、版本信息会升至`Miao-Yunzai`,以支持更多场景
|
* `miao-plugin`的帮助、设置、版本信息会升至`Miao-Yunzai`,以支持更多场景
|
||||||
* 一些底层会与`miao-plugin`做更深层的联动,以支持一些高级功能
|
* 一些底层会与`miao-plugin`做更深层的联动,以支持一些高级功能
|
||||||
|
@ -36,33 +40,34 @@
|
||||||
```
|
```
|
||||||
# 使用 Github
|
# 使用 Github
|
||||||
git clone --depth=1 https://github.com/yoimiya-kokomi/Miao-Yunzai.git
|
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
|
# 使用Gitee
|
||||||
git clone --depth=1 https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git
|
git clone --depth=1 https://gitee.com/yoimiya-kokomi/Miao-Yunzai.git
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
#进入Yunzai目录
|
|
||||||
cd Miao-Yunzai
|
cd Miao-Yunzai
|
||||||
```
|
|
||||||
|
|
||||||
```
|
|
||||||
#使用Github
|
|
||||||
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-plugin.git ./plugins/miao-plugin/
|
git clone --depth=1 https://gitee.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/
|
||||||
```
|
```
|
||||||
|
|
||||||
2.安装[pnpm](https://pnpm.io/zh/installation) ,已安装的可以跳过
|
2.安装[pnpm](https://pnpm.io/zh/installation) ,已安装的可以跳过
|
||||||
|
|
||||||
```
|
```
|
||||||
|
# 使用npmjs.org安装
|
||||||
npm install pnpm -g
|
npm install pnpm -g
|
||||||
|
|
||||||
|
# 指定国内源npmmirror.com安装
|
||||||
|
npm --registry=https://registry.npmmirror.com install pnpm -g
|
||||||
```
|
```
|
||||||
|
|
||||||
3.安装依赖
|
3.安装依赖
|
||||||
|
|
||||||
```
|
```
|
||||||
|
# 直接安装
|
||||||
|
pnpm install -P
|
||||||
|
|
||||||
|
# 如依赖安装缓慢或失败,可尝试更换国内npm源后再执行install命令
|
||||||
|
pnpm --registry https://registry.npmmirror.com install -P
|
||||||
pnpm install -P
|
pnpm install -P
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import moment from 'moment'
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import common from '../common/common.js'
|
import common from '../common/common.js'
|
||||||
import Runtime from './runtime.js'
|
import Runtime from './runtime.js'
|
||||||
|
|
||||||
/** 全局变量 plugin */
|
/** 全局变量 plugin */
|
||||||
global.plugin = plugin
|
global.plugin = plugin
|
||||||
|
|
||||||
|
@ -103,7 +104,8 @@ class PluginsLoader {
|
||||||
packageErr.forEach(v => {
|
packageErr.forEach(v => {
|
||||||
let pack = v.error.stack.match(/'(.+?)'/g)[0].replace(/'/g, '')
|
let pack = v.error.stack.match(/'(.+?)'/g)[0].replace(/'/g, '')
|
||||||
logger.mark(`${v.File.name} 缺少依赖:${logger.red(pack)}`)
|
logger.mark(`${v.File.name} 缺少依赖:${logger.red(pack)}`)
|
||||||
logger.mark(`请执行安装依赖命令:${logger.red('pnpm add ' + pack + ' -w')}`)
|
logger.mark(`新增插件后请执行安装命令:${logger.red('pnpm install')} 安装依赖`)
|
||||||
|
logger.mark(`如安装后仍未解决可联系插件作者将 ${logger.red(pack)} 依赖添加至插件的package.json dependencies中,或手工安装依赖`)
|
||||||
})
|
})
|
||||||
// logger.error('或者使用其他包管理工具安装依赖')
|
// logger.error('或者使用其他包管理工具安装依赖')
|
||||||
logger.mark('---------------------')
|
logger.mark('---------------------')
|
||||||
|
@ -145,7 +147,7 @@ class PluginsLoader {
|
||||||
/** 监听热更新 */
|
/** 监听热更新 */
|
||||||
this.watch(val.name, app.name)
|
this.watch(val.name, app.name)
|
||||||
|
|
||||||
continue
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,10 +232,9 @@ class PluginsLoader {
|
||||||
for (let plugin of priority) {
|
for (let plugin of priority) {
|
||||||
/** 正则匹配 */
|
/** 正则匹配 */
|
||||||
if (plugin.rule) {
|
if (plugin.rule) {
|
||||||
b:
|
|
||||||
for (let v of plugin.rule) {
|
for (let v of plugin.rule) {
|
||||||
/** 判断事件 */
|
/** 判断事件 */
|
||||||
if (v.event && !this.filtEvent(e, v)) continue b
|
if (v.event && !this.filtEvent(e, v)) continue
|
||||||
|
|
||||||
if (new RegExp(v.reg).test(e.msg)) {
|
if (new RegExp(v.reg).test(e.msg)) {
|
||||||
e.logFnc = `[${plugin.name}][${v.fnc}]`
|
e.logFnc = `[${plugin.name}][${v.fnc}]`
|
||||||
|
@ -312,13 +313,13 @@ class PluginsLoader {
|
||||||
e.reply('数据加载中,请稍后再试')
|
e.reply('数据加载中,请稍后再试')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (v.permission == 'owner') {
|
if (v.permission === 'owner') {
|
||||||
if (!e.member.is_owner) {
|
if (!e.member.is_owner) {
|
||||||
e.reply('暂无权限,只有群主才能操作')
|
e.reply('暂无权限,只有群主才能操作')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (v.permission == 'admin') {
|
if (v.permission === 'admin') {
|
||||||
if (!e.member.is_admin) {
|
if (!e.member.is_admin) {
|
||||||
e.reply('暂无权限,只有管理员才能操作')
|
e.reply('暂无权限,只有管理员才能操作')
|
||||||
return false
|
return false
|
||||||
|
@ -378,7 +379,7 @@ class PluginsLoader {
|
||||||
|
|
||||||
e.logText = ''
|
e.logText = ''
|
||||||
|
|
||||||
if (e.message_type == 'private' || e.notice_type == 'friend') {
|
if (e.message_type === 'private' || e.notice_type === 'friend') {
|
||||||
e.isPrivate = true
|
e.isPrivate = true
|
||||||
|
|
||||||
if (e.sender) {
|
if (e.sender) {
|
||||||
|
@ -393,7 +394,7 @@ class PluginsLoader {
|
||||||
e.logText = `[私聊][${e.sender.nickname}(${e.user_id})]`
|
e.logText = `[私聊][${e.sender.nickname}(${e.user_id})]`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.message_type == 'group' || e.notice_type == 'group') {
|
if (e.message_type === 'group' || e.notice_type === 'group') {
|
||||||
e.isGroup = true
|
e.isGroup = true
|
||||||
if (e.sender) {
|
if (e.sender) {
|
||||||
e.sender.card = e.sender.card || e.sender.nickname
|
e.sender.card = e.sender.card || e.sender.nickname
|
||||||
|
@ -480,7 +481,7 @@ class PluginsLoader {
|
||||||
|
|
||||||
let msgRes
|
let msgRes
|
||||||
try {
|
try {
|
||||||
msgRes = await e.replyNew(this.checkStr(msg), quote)
|
msgRes = await e.replyNew(msg, quote)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (typeof msg != 'string') {
|
if (typeof msg != 'string') {
|
||||||
if (msg.type == 'image' && Buffer.isBuffer(msg?.file)) msg.file = {}
|
if (msg.type == 'image' && Buffer.isBuffer(msg?.file)) msg.file = {}
|
||||||
|
@ -597,15 +598,6 @@ class PluginsLoader {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
checkStr (msg) {
|
|
||||||
/* eslint-disable no-undef */
|
|
||||||
if (typeof strr == 'undefined') return msg
|
|
||||||
if (msg && msg.type == '\u0069\u006d\u0061\u0067\u0065' && strr && !msg.asface && lodash.random(1000, 3000) == 1200) {
|
|
||||||
msg = [msg, unescape(strr.replace(/\\u/g, '%u'))]
|
|
||||||
}
|
|
||||||
return msg
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 检查命令冷却cd */
|
/** 检查命令冷却cd */
|
||||||
checkLimit (e) {
|
checkLimit (e) {
|
||||||
/** 禁言中 */
|
/** 禁言中 */
|
||||||
|
|
|
@ -104,7 +104,7 @@ export class update extends plugin {
|
||||||
let type = '更新'
|
let type = '更新'
|
||||||
if (this.e.msg.includes('强制')) {
|
if (this.e.msg.includes('强制')) {
|
||||||
type = '强制更新'
|
type = '强制更新'
|
||||||
cm = `git reset --hard origin/main && ${cm}`
|
cm = `git reset --hard origin/master && ${cm}`
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin) {
|
if (plugin) {
|
||||||
|
|
Loading…
Reference in New Issue