Merge branch 'dev'

This commit is contained in:
秋刀鱼 2024-11-15 13:20:57 +08:00
commit 08a2571acc
3 changed files with 15 additions and 7 deletions

View File

@ -2052,7 +2052,7 @@ export class tools extends plugin {
const path = this.getCurDownloadPath(e);
await checkAndRemoveFile(path + "/temp.mp4")
await checkAndRemoveFile(path + "/temp.mp3")
await checkAndRemoveFile(path + "/temp.flac")
await checkAndRemoveFile(path + "/thumbnail.png")
await ytDlpGetThumbnail(path, url, isOversea, this.myProxy, this.youtubeCookiePath)
const title = ytDlpGetTilt(url, isOversea, this.myProxy, this.youtubeCookiePath).toString().replace(/\n/g, '');
@ -2064,8 +2064,10 @@ export class tools extends plugin {
`${this.identifyPrefix}识别:油管音乐\n视频标题:${title}`
]);
await ytDlpHelper(path, url, isOversea, this.myProxy, this.videoDownloadConcurrency, true, graphics, timeRange, this.youtubeCookiePath);
e.reply(segment.record(`${path}/temp.mp3`));
this.uploadGroupFile(e, `${path}/temp.mp3`);
if(this.isSendVocal){
e.reply(segment.record(`${path}/temp.flac`));
}
this.uploadGroupFile(e, `${path}/temp.flac`);
// 发送完就截断
return;
}

View File

@ -30,9 +30,15 @@ export function removeParams(url) {
}
export function convertToSeconds(timeStr) {
const [hour, minutes, seconds] = timeStr.split(':').map(Number); // 拆分并转换为数字
if (!seconds) return timeStr;
return hour * 3600 + minutes * 60 + seconds; // 分钟转化为秒并加上秒数
const parts = timeStr.split(':').map(Number);
if (parts.length === 2) {
const [minutes, seconds] = parts;
return minutes * 60 + seconds;
} else if (parts.length === 3) {
const [hours, minutes, seconds] = parts;
return hours * 3600 + minutes * 60 + seconds;
}
return timeStr;
}
export async function autoSelectMusicOrVideoSend() {

View File

@ -96,7 +96,7 @@ export async function ytDlpHelper(path, url, isOversea, proxy, maxThreads, merge
if (url.includes("music")) {
// 这里是 YouTube Music的处理逻辑
// e.g yt-dlp -x --audio-format mp3 https://youtu.be/5wEtefq9VzM -o test.mp3
command = `yt-dlp -x --audio-format mp3 ${cookieParam} ${constructProxyParam(isOversea, proxy)} -P ${path} -o "temp.mp3" ${url}`;
command = `yt-dlp -x --audio-format flac -f ba ${cookieParam} ${constructProxyParam(isOversea, proxy)} -P ${path} -o "temp.flac" ${url}`;
} else {
// 正常情况下的处理逻辑
const fParam = url.includes("youtu") ? `--download-sections "*${timeRange}" -f "bv${graphics}[ext=mp4]+ba[ext=m4a]" ` : "";