mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 21:27:47 +00:00
Merge branch 'main' of https://github.com/ZZZure/ZZZ-Plugin
This commit is contained in:
commit
1fb7a6ff54
1 changed files with 36 additions and 14 deletions
|
|
@ -8,8 +8,6 @@ import fetch from 'node-fetch'
|
|||
import lodash from 'lodash'
|
||||
|
||||
const ZZZ_GUIDES_PATH = path.join(imageResourcesPath, 'guides')
|
||||
// 最大攻略数量
|
||||
const maxNum = 2
|
||||
|
||||
export class Guide extends ZZZPlugin {
|
||||
constructor() {
|
||||
|
|
@ -20,7 +18,7 @@ export class Guide extends ZZZPlugin {
|
|||
priority: 100,
|
||||
rule: [
|
||||
{
|
||||
reg: `${rulePrefix}(更新)?\\S+攻略([0-${maxNum}])?$`,
|
||||
reg: `${rulePrefix}(更新)?\\S+攻略(\\d+)?$`,
|
||||
fnc: 'Guide',
|
||||
},
|
||||
],
|
||||
|
|
@ -31,16 +29,24 @@ export class Guide extends ZZZPlugin {
|
|||
[],
|
||||
// 来源:新艾利都快讯
|
||||
[2712859],
|
||||
[2727116]
|
||||
[2727116],
|
||||
[2721968],
|
||||
[2724610],
|
||||
[2722266]
|
||||
]
|
||||
this.source = [
|
||||
'新艾利都快讯',
|
||||
'清茶沐沐Kiyotya'
|
||||
'清茶沐沐Kiyotya',
|
||||
'小橙子阿',
|
||||
'猫冬',
|
||||
'月光中心'
|
||||
]
|
||||
// 最大攻略数量
|
||||
this.maxNum = this.source.length
|
||||
}
|
||||
|
||||
async init () {
|
||||
for (let group = 1; group <= maxNum; group++) {
|
||||
for (let group = 1; group <= this.maxNum; group++) {
|
||||
let guideFolder = this.getGuideFolder(group)
|
||||
if (!fs.existsSync(guideFolder)) {
|
||||
fs.mkdirSync(guideFolder, { recursive: true })
|
||||
|
|
@ -59,12 +65,23 @@ export class Guide extends ZZZPlugin {
|
|||
return guidePath
|
||||
}
|
||||
|
||||
canGetImageFromFile(guidePath, isUpdate) {
|
||||
return (
|
||||
fs.existsSync(guidePath) &&
|
||||
!isUpdate
|
||||
)
|
||||
}
|
||||
|
||||
async Guide() {
|
||||
logger.warn('123')
|
||||
let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略([0-${maxNum}])?$`)
|
||||
let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略(\\d+)?$`)
|
||||
let [,,,, isUpdate, name,
|
||||
group = 1 // setting.getConfig('mys')?.defaultSource
|
||||
group = '1' // setting.getConfig('mys')?.defaultSource
|
||||
] = this.e.msg.match(reg)
|
||||
group = +group
|
||||
if (group > this.maxNum) {
|
||||
await this.reply(`超过攻略数量(${this.maxNum})`)
|
||||
return
|
||||
}
|
||||
let id = atlasToName(name)
|
||||
if (!id) {
|
||||
await this.reply('该角色不存在')
|
||||
|
|
@ -75,9 +92,9 @@ export class Guide extends ZZZPlugin {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
let msg = []
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
for (let i = 1; i <= maxNum; i++) {
|
||||
let guildePath = this.getGuidePath(i, name)
|
||||
if (fs.existsSync(this.sfPath) && !isUpdate) {
|
||||
for (let i = 1; i <= this.maxNum; i++) {
|
||||
let guidePath = this.getGuidePath(i, name)
|
||||
if (this.canGetImageFromFile(guidePath, isUpdate)) {
|
||||
msg.push(segment.image(`file://${guidePath}`))
|
||||
continue
|
||||
}
|
||||
|
|
@ -90,7 +107,7 @@ export class Guide extends ZZZPlugin {
|
|||
}
|
||||
|
||||
let guidePath = this.getGuidePath(group, name)
|
||||
if (fs.existsSync(guidePath)) {
|
||||
if (this.canGetImageFromFile(guidePath, isUpdate)) {
|
||||
await this.e.reply(segment.image(`file://${guidePath}`))
|
||||
return
|
||||
}
|
||||
|
|
@ -119,7 +136,12 @@ export class Guide extends ZZZPlugin {
|
|||
if (val.post.subject.includes(name)) {
|
||||
let max = 0
|
||||
val.image_list.forEach((v, i) => {
|
||||
if (Number(v.size) >= Number(val.image_list[max].size)) max = i
|
||||
if (
|
||||
Number(v.size) >= Number(val.image_list[max].size) &&
|
||||
v.format != 'gif' // 动图天生 size 会撑得很大
|
||||
) {
|
||||
max = i
|
||||
}
|
||||
})
|
||||
url = val.image_list[max].url
|
||||
break
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue