From 8a047b5f5e3793da7446ff16e985cb07cbd1d11e Mon Sep 17 00:00:00 2001 From: "ZM.J" Date: Thu, 25 Jul 2024 12:00:27 +0800 Subject: [PATCH 1/3] Add default_guide setting --- apps/guide.js | 6 ++++-- defSet/guide.yaml | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 defSet/guide.yaml diff --git a/apps/guide.js b/apps/guide.js index abe2630..38f17d5 100644 --- a/apps/guide.js +++ b/apps/guide.js @@ -85,7 +85,7 @@ export class Guide extends ZZZPlugin { , isUpdate, name, - group = '1', // setting.getConfig('mys')?.defaultSource + group = _.get(settings.getConfig('guide'), 'default_guide', 1).toString(), ] = this.e.msg.match(reg); group = +group; if (group > this.maxNum) { @@ -145,7 +145,7 @@ export class Guide extends ZZZPlugin { } let posts = lodash.flatten(lodash.map(msyRes, item => item.data.posts)); - let url; + let url, created_at, updated_at; for (let val of posts) { if (val.post.subject.replace(/【[^】]*本[^】]*】/g, '').includes(name)) { let max = 0; @@ -158,6 +158,8 @@ export class Guide extends ZZZPlugin { } }); url = val.image_list[max].url; + created_at = val.post.created_at; + updated_at = val.post.updated_at; break; } } diff --git a/defSet/guide.yaml b/defSet/guide.yaml new file mode 100644 index 0000000..8a246bf --- /dev/null +++ b/defSet/guide.yaml @@ -0,0 +1 @@ +default_guide: 1 \ No newline at end of file From 39af2acb64f9753e272710aa0c0b01068ee0dff0 Mon Sep 17 00:00:00 2001 From: "ZM.J" Date: Thu, 25 Jul 2024 12:07:19 +0800 Subject: [PATCH 2/3] Use 'all' to indicate displaying all guides --- apps/guide.js | 16 ++++++++++------ defSet/guide.yaml | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/guide.js b/apps/guide.js index 38f17d5..fd67063 100644 --- a/apps/guide.js +++ b/apps/guide.js @@ -21,7 +21,7 @@ export class Guide extends ZZZPlugin { priority: _.get(settings.getConfig('priority'), 'guide', 70), rule: [ { - reg: `${rulePrefix}(更新)?\\S+攻略(\\d+)?$`, + reg: `${rulePrefix}(更新)?\\S+攻略(\\d+|all)?$`, fnc: 'Guide', }, ], @@ -49,7 +49,7 @@ export class Guide extends ZZZPlugin { this.maxNum = this.source.length; // 最大显示攻略数量 - this.maxForwardGuides = 4; + this.maxForwardGuides = _.get(settings.getConfig('guide'), 'max_forward_guides', 4); } async init() { @@ -77,7 +77,7 @@ export class Guide extends ZZZPlugin { } async Guide() { - let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略(\\d+)?$`); + let reg = new RegExp(`${rulePrefix}(更新)?(\\S+)攻略(\\d+|all)?$`); let [ , , @@ -87,6 +87,10 @@ export class Guide extends ZZZPlugin { name, group = _.get(settings.getConfig('guide'), 'default_guide', 1).toString(), ] = this.e.msg.match(reg); + // all -> 0 + if (group == 'all') { + group = '0'; + } group = +group; if (group > this.maxNum) { await this.reply(`超过攻略数量(${this.maxNum})`); @@ -108,7 +112,7 @@ export class Guide extends ZZZPlugin { msg.push(segment.image(`file://${guidePath}`)); continue; } - if (i < this.maxForwardGuides && (await this.getImg(name, i))) { + if (i <= this.maxForwardGuides && (await this.getImg(name, i))) { msg.push(segment.image(`file://${guidePath}`)); } } @@ -169,7 +173,7 @@ export class Guide extends ZZZPlugin { ); return false; } - console.log(`${this.e.logFnc} 下载${name}攻略图`); + console.log(`${this.e.logFnc} 下载${name}攻略图 - ${this.source[group - 1]}`); const download = await fetch(url); const arrayBuffer = await download.arrayBuffer(); @@ -177,7 +181,7 @@ export class Guide extends ZZZPlugin { let guidePath = this.getGuidePath(group, name); fs.writeFileSync(guidePath, buffer); - console.log(`${this.e.logFnc} 下载${name}攻略成功`); + console.log(`${this.e.logFnc} 下载${name}攻略成功 - ${this.source[group - 1]}`); return true; } diff --git a/defSet/guide.yaml b/defSet/guide.yaml index 8a246bf..87e2b12 100644 --- a/defSet/guide.yaml +++ b/defSet/guide.yaml @@ -1 +1,2 @@ -default_guide: 1 \ No newline at end of file +default_guide: 1 +max_forward_guides: 4 \ No newline at end of file From 1c1851f707de52693b55fe2f06fd48e21d99fd8d Mon Sep 17 00:00:00 2001 From: "ZM.J" Date: Thu, 25 Jul 2024 12:08:32 +0800 Subject: [PATCH 3/3] Fix typo --- apps/guide.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/guide.js b/apps/guide.js index fd67063..b3aaf01 100644 --- a/apps/guide.js +++ b/apps/guide.js @@ -135,20 +135,20 @@ export class Guide extends ZZZPlugin { /** 下载攻略图 */ async getImg(name, group) { - let msyRes = []; + let mysRes = []; this.collection_id[group].forEach(id => - msyRes.push(this.getData(this.url + id)) + mysRes.push(this.getData(this.url + id)) ); try { - msyRes = await Promise.all(msyRes); + mysRes = await Promise.all(mysRes); } catch (error) { this.e.reply('暂无攻略数据,请稍后再试'); console.log(`米游社接口报错:${error}}`); return false; } - let posts = lodash.flatten(lodash.map(msyRes, item => item.data.posts)); + let posts = lodash.flatten(lodash.map(mysRes, item => item.data.posts)); let url, created_at, updated_at; for (let val of posts) { if (val.post.subject.replace(/【[^】]*本[^】]*】/g, '').includes(name)) {