更新歌词匹配

This commit is contained in:
zyc404 2024-05-09 22:30:23 +08:00
parent 7288e2b845
commit adcbcf1f40

View file

@ -316,7 +316,8 @@ export default class BingSunoClient {
fs.unlinkSync(videoPath) fs.unlinkSync(videoPath)
}, 60000) }, 60000)
} else { } else {
logger.warn(`${song.title}下载视频失败,仅发送视频链接`) logger.warn(`${song.title}下载视频失败`)
await this.reply(`${song.title}下载视频失败`)
} }
} }
@ -621,22 +622,22 @@ export default class BingSunoClient {
const lines = text.split('\n') const lines = text.split('\n')
lines.forEach(line => { lines.forEach(line => {
// 检查每一行是否包含分段关键词 // 检查每一行是否包含分段关键词
const sectionFound = sectionKeywords.some(keyword => { const sectionFound = sectionKeywords.some(keyword => {
const regex = new RegExp(`\\[${keyword} \\d+\\]|\\(${keyword} \\d+\\)`, 'i') const regex = new RegExp(`\\[${keyword} \\d+\\]|\\(${keyword} \\d+\\)|\\*\\*${keyword} \\d+\\*\\*`, 'i')
return regex.test(line) return regex.test(line)
}) })
// 如果找到第一个分段关键词,开始提取歌词 // 如果找到第一个分段关键词,开始提取歌词
if (sectionFound && !startExtracting) { if (sectionFound && !startExtracting) {
startExtracting = true startExtracting = true
} }
// 如果已经开始提取歌词则添加到lyrics变量中 // 如果已经开始提取歌词则添加到lyrics变量中
if (startExtracting) { if (startExtracting) {
lyrics += line + '\n' lyrics += line + '\n'
} }
}) })
return lyrics.trim() // 返回处理过的歌词 return lyrics.trim() // 返回处理过的歌词
} }
getRandomElements(arr, count) { getRandomElements(arr, count) {
const shuffled = arr.sort(() => 0.5 - Math.random()) const shuffled = arr.sort(() => 0.5 - Math.random())