calculate maxNum dynamically

This commit is contained in:
ZM.J 2024-07-11 14:47:03 +08:00
parent 46b16c50da
commit d101401ca1

View file

@ -8,8 +8,6 @@ import fetch from 'node-fetch'
import lodash from 'lodash' import lodash from 'lodash'
const ZZZ_GUIDES_PATH = path.join(imageResourcesPath, 'guides') const ZZZ_GUIDES_PATH = path.join(imageResourcesPath, 'guides')
// 最大攻略数量
const maxNum = 2
export class Guide extends ZZZPlugin { export class Guide extends ZZZPlugin {
constructor() { constructor() {
@ -20,7 +18,7 @@ export class Guide extends ZZZPlugin {
priority: 100, priority: 100,
rule: [ rule: [
{ {
reg: `${rulePrefix}(更新)?\\S+攻略([0-${maxNum}])?$`, reg: `${rulePrefix}(更新)?\\S+攻略(\\d+)?$`,
fnc: 'Guide', fnc: 'Guide',
}, },
], ],
@ -31,16 +29,22 @@ export class Guide extends ZZZPlugin {
[], [],
// 来源:新艾利都快讯 // 来源:新艾利都快讯
[2712859], [2712859],
[2727116] [2727116],
[2721968],
[2724610]
] ]
this.source = [ this.source = [
'新艾利都快讯', '新艾利都快讯',
'清茶沐沐Kiyotya' '清茶沐沐Kiyotya',
'小橙子阿',
'猫冬'
] ]
// 最大攻略数量
this.maxNum = this.source.length
} }
async init () { async init () {
for (let group = 1; group <= maxNum; group++) { for (let group = 1; group <= this.maxNum; group++) {
let guideFolder = this.getGuideFolder(group) let guideFolder = this.getGuideFolder(group)
if (!fs.existsSync(guideFolder)) { if (!fs.existsSync(guideFolder)) {
fs.mkdirSync(guideFolder, { recursive: true }) fs.mkdirSync(guideFolder, { recursive: true })
@ -61,10 +65,15 @@ export class Guide extends ZZZPlugin {
async Guide() { async Guide() {
logger.warn('123') logger.warn('123')
let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略([0-${maxNum}])?$`) let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略(\\d+)?$`)
let [,,,, isUpdate, name, let [,,,, isUpdate, name,
group = 1 // setting.getConfig('mys')?.defaultSource group = '1' // setting.getConfig('mys')?.defaultSource
] = this.e.msg.match(reg) ] = this.e.msg.match(reg)
group = +group
if (group > this.maxNum) {
await this.reply(`超过攻略数量(${this.maxNum}`)
return
}
let id = atlasToName(name) let id = atlasToName(name)
if (!id) { if (!id) {
await this.reply('该角色不存在') await this.reply('该角色不存在')
@ -75,8 +84,8 @@ export class Guide extends ZZZPlugin {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
let msg = [] let msg = []
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
for (let i = 1; i <= maxNum; i++) { for (let i = 1; i <= this.maxNum; i++) {
let guildePath = this.getGuidePath(i, name) let guidePath = this.getGuidePath(i, name)
if (fs.existsSync(this.sfPath) && !isUpdate) { if (fs.existsSync(this.sfPath) && !isUpdate) {
msg.push(segment.image(`file://${guidePath}`)) msg.push(segment.image(`file://${guidePath}`))
continue continue