diff --git a/apps/tools.js b/apps/tools.js index cea5897..d84f849 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -2000,7 +2000,7 @@ export class tools extends plugin { } // 下面为视频逻辑 - const Duration = convertToSeconds(await ytDlpGetDuration(url, isOversea, this.myProxy).toString().replace(/\n/g, '')); + const Duration = convertToSeconds(ytDlpGetDuration(url, isOversea, this.myProxy, this.youtubeCookiePath).toString().replace(/\n/g, '')); // logger.info('时长------',Duration) if (Duration > this.youtubeDuration) { e.reply([ diff --git a/utils/yt-dlp-util.js b/utils/yt-dlp-util.js index 3b7012c..692bb80 100644 --- a/utils/yt-dlp-util.js +++ b/utils/yt-dlp-util.js @@ -36,10 +36,13 @@ function constructEncodingParam(url) { * @param url * @param isOversea * @param proxy + * @param cookiePath * @returns string */ -export function ytDlpGetDuration(url, isOversea, proxy) { - return execSync(`yt-dlp --get-duration --skip-download ${constructProxyParam(isOversea, proxy)} ${url}`); +export function ytDlpGetDuration(url, isOversea, proxy, cookiePath = "") { + // 构造 cookie 参数 + const cookieParam = constructCookiePath(url, cookiePath); + return execSync(`yt-dlp --get-duration --skip-download ${cookieParam} ${constructProxyParam(isOversea, proxy)} ${url}`); } /**