From 987c9a3c8460c0f02aa81d2df43ffc1f6601322f Mon Sep 17 00:00:00 2001 From: "DESKTOP-I4SRUE6\\NikoYoke" Date: Fri, 8 Nov 2024 22:02:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E4=B8=BA=E7=A9=BA=E6=97=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/songRequest.js | 41 ++++++++++++++++++++++------------------- apps/tools.js | 33 ++++++++++++++++++--------------- 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/apps/songRequest.js b/apps/songRequest.js index a89233d..7fb6e93 100644 --- a/apps/songRequest.js +++ b/apps/songRequest.js @@ -19,7 +19,7 @@ export class songRequest extends plugin { priority: 300, rule: [ { - reg: '^#点歌|#?听[1-9][0-9]*|#?听[1-9]*$', + reg: '^#点歌|#听[1-9][0-9]*|#听[1-9]*$', fnc: 'pickSong' }, { @@ -57,7 +57,7 @@ export class songRequest extends plugin { // 判断功能是否开启 if (!this.useNeteaseSongRequest) { logger.info('当前未开启网易云点歌') - return + return false } const autoSelectNeteaseApi = await this.pickApi() // 只在群里可以使用 @@ -112,8 +112,8 @@ export class songRequest extends plugin { } }) } else if (await redisGetKey(REDIS_YUNZAI_SONGINFO) != []) { - if (e.msg.replace(/\s+/g, "").match(/听(\d+)/)) { - const pickNumber = e.msg.replace(/\s+/g, "").match(/听(\d+)/)[1] - 1 + if (e.msg.replace(/\s+/g, "").match(/^听(\d+)/)) { + const pickNumber = e.msg.replace(/\s+/g, "").match(/^听(\d+)/)[1] - 1 let group_id = e.group.group_id if (!group_id) return let songInfo = await redisGetKey(REDIS_YUNZAI_SONGINFO) @@ -306,23 +306,26 @@ export class songRequest extends plugin { }, }).then(res => { const wikiData = res.data.data.blocks[1].creatives - - typelist.push(wikiData[0].resources[0].uiElement.mainTitle.title) - // 防止数据过深出错 - const recTags = wikiData[1] - if (recTags.resources[0]) { - for (let i = 0; i < Math.min(3, recTags.resources.length); i++) { - if (recTags.resources[i] && recTags.resources[i].uiElement && recTags.resources[i].uiElement.mainTitle.title) { - typelist.push(recTags.resources[i].uiElement.mainTitle.title) + try { + typelist.push(wikiData[0].resources[0]?.uiElement?.mainTitle?.title || "") + // 防止数据过深出错 + const recTags = wikiData[1] + if (recTags?.resources[0]) { + for (let i = 0; i < Math.min(3, recTags.resources.length); i++) { + if (recTags.resources[i] && recTags.resources[i].uiElement && recTags.resources[i].uiElement.mainTitle.title) { + typelist.push(recTags.resources[i].uiElement.mainTitle.title) + } } + } else { + if (recTags.uiElement.textLinks[0].text) typelist.push(recTags.uiElement.textLinks[0].text) } - } else { - if (recTags.uiElement.textLinks[0].text) typelist.push(recTags.uiElement.textLinks[0].text) - } - if (wikiData[2].uiElement.mainTitle.title == 'BPM') { - typelist.push('BPM ' + wikiData[2].uiElement.textLinks[0].text) - } else { - typelist.push(wikiData[2].uiElement.textLinks[0].text) + if (wikiData[2].uiElement.mainTitle.title == 'BPM') { + typelist.push('BPM ' + wikiData[2].uiElement.textLinks[0].text) + } else { + typelist.push(wikiData[2].uiElement.textLinks[0].text || '') + } + } catch (error) { + logger.error('获取标签报错:', error) } typelist.push(AudioLevel) }) diff --git a/apps/tools.js b/apps/tools.js index 7675cb1..e2a3f6c 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -1794,23 +1794,26 @@ export class tools extends plugin { }, }).then(res => { const wikiData = res.data.data.blocks[1].creatives - typelist.push(wikiData[0].resources[0].uiElement.mainTitle.title) - // 防止数据过深出错 - const recTags = wikiData[1] - if (recTags.resources[0]) { - for (let i = 0; i < Math.min(3, recTags.resources.length); i++) { - if (recTags.resources[i] && recTags.resources[i].uiElement && recTags.resources[i].uiElement.mainTitle.title) { - typelist.push(recTags.resources[i].uiElement.mainTitle.title) + try { + typelist.push(wikiData[0].resources[0]?.uiElement?.mainTitle?.title || "") + // 防止数据过深出错 + const recTags = wikiData[1] + if (recTags?.resources[0]) { + for (let i = 0; i < Math.min(3, recTags.resources.length); i++) { + if (recTags.resources[i] && recTags.resources[i].uiElement && recTags.resources[i].uiElement.mainTitle.title) { + typelist.push(recTags.resources[i].uiElement.mainTitle.title) + } } + } else { + if (recTags.uiElement.textLinks[0].text) typelist.push(recTags.uiElement.textLinks[0].text) } - } else { - if (recTags.uiElement.textLinks[0].text) typelist.push(recTags.uiElement.textLinks[0].text) - } - - if (wikiData[2].uiElement.mainTitle.title == 'BPM') { - typelist.push('BPM ' + wikiData[2].uiElement.textLinks[0].text) - } else { - typelist.push(wikiData[2].uiElement.textLinks[0].text) + if (wikiData[2].uiElement.mainTitle.title == 'BPM') { + typelist.push('BPM ' + wikiData[2].uiElement.textLinks[0].text) + } else { + typelist.push(wikiData[2].uiElement.textLinks[0].text || '') + } + } catch (error) { + logger.error('获取标签报错:', error) } typelist.push(AudioLevel) }) From 2d8defa1e93fae9135d3f4b35e35dadc58129e71 Mon Sep 17 00:00:00 2001 From: "DESKTOP-I4SRUE6\\NikoYoke" Date: Fri, 8 Nov 2024 22:05:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=84=20reactor:=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=A7=A6=E5=8F=91=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/songRequest.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/songRequest.js b/apps/songRequest.js index 7fb6e93..e0c1999 100644 --- a/apps/songRequest.js +++ b/apps/songRequest.js @@ -112,8 +112,8 @@ export class songRequest extends plugin { } }) } else if (await redisGetKey(REDIS_YUNZAI_SONGINFO) != []) { - if (e.msg.replace(/\s+/g, "").match(/^听(\d+)/)) { - const pickNumber = e.msg.replace(/\s+/g, "").match(/^听(\d+)/)[1] - 1 + if (e.msg.replace(/\s+/g, "").match(/^#听(\d+)/)) { + const pickNumber = e.msg.replace(/\s+/g, "").match(/^#听(\d+)/)[1] - 1 let group_id = e.group.group_id if (!group_id) return let songInfo = await redisGetKey(REDIS_YUNZAI_SONGINFO)