feat: 适配Spotify音乐

This commit is contained in:
zhiyu1998 2024-05-12 19:56:42 +08:00
parent b8f6fcb635
commit 5526ebbbee
2 changed files with 9 additions and 8 deletions

View File

@ -1,6 +1,5 @@
// 主库 // 主库
import fetch from "node-fetch"; import fetch from "node-fetch";
import fs from "node:fs";
// 爬虫库 // 爬虫库
import puppeteer from "../../../lib/puppeteer/puppeteer.js"; import puppeteer from "../../../lib/puppeteer/puppeteer.js";
// http库 // http库

View File

@ -169,8 +169,8 @@ export class tools extends plugin {
fnc: "zuiyou" fnc: "zuiyou"
}, },
{ {
reg: "music.apple.com", reg: "(music.apple.com|open.spotify.com)",
fnc: "applemusic" fnc: "freyr"
} }
], ],
}); });
@ -1426,10 +1426,12 @@ export class tools extends plugin {
} }
} }
async applemusic(e) { async freyr(e) {
// https://music.apple.com/cn/album/hectopascal-from-yagate-kimi-ni-naru-piano-arrangement/1468323115?i=1468323724 // https://music.apple.com/cn/album/hectopascal-from-yagate-kimi-ni-naru-piano-arrangement/1468323115?i=1468323724
// 过滤参数 // 过滤参数
const message = e.msg.replace("&ls", ""); const message = e.msg.replace("&ls", "");
// 匹配名字
const freyrName = message.includes("spotify") ? "Spotify" : "Apple Music";
// 找到R插件保存目录 // 找到R插件保存目录
const currentWorkingDirectory = path.resolve(this.defaultPath); const currentWorkingDirectory = path.resolve(this.defaultPath);
// 如果没有文件夹就创建一个 // 如果没有文件夹就创建一个
@ -1439,7 +1441,7 @@ export class tools extends plugin {
logger.info(result.toString()); logger.info(result.toString());
// 获取信息 // 获取信息
const { title, album, artist } = await this.parseFreyrLog(result.toString()); const { title, album, artist } = await this.parseFreyrLog(result.toString());
e.reply(`识别:Apple Music${ title }--${ artist }\n${ album }`); e.reply(`识别:${freyrName}${ title }--${ artist }\n${ album }`);
// 判断是否是海外服务器 // 判断是否是海外服务器
const isOversea = await this.isOverseasServer(); const isOversea = await this.isOverseasServer();
// 国内服务器解决方案 // 国内服务器解决方案
@ -1474,7 +1476,7 @@ export class tools extends plugin {
// 读取目录中的所有文件和文件夹 // 读取目录中的所有文件和文件夹
fs.readdir(musicPath, (err, files) => { fs.readdir(musicPath, (err, files) => {
if (err) { if (err) {
e.reply("Apple Music解析出错请查看日志") e.reply(`${freyrName}解析出错,请查看日志!`)
logger.error('读取目录时出错:', err); logger.error('读取目录时出错:', err);
return; return;
} }
@ -1489,11 +1491,11 @@ export class tools extends plugin {
}); });
}); });
} else { } else {
e.reply("下载失败没有找到Apple Music下载下来文件"); e.reply(`下载失败!没有找到${freyrName}下载下来文件!`);
} }
// 计数 // 计数
tools.#amCount += 1; tools.#amCount += 1;
logger.info(`当前Apple Music已经下载了:${ tools.#amCount }`); logger.info(`当前${freyrName}已经下载了:${ tools.#amCount }`);
// 定时清理 // 定时清理
if (tools.#amCount >= 5) { if (tools.#amCount >= 5) {
await deleteFolderRecursive(currentWorkingDirectory + "/am"); await deleteFolderRecursive(currentWorkingDirectory + "/am");