fix: yt: set cookies for check_size args (#35)

Co-authored-by: Aidan <aidan@p0ntus.com>
This commit is contained in:
Giovani Finazzi 2025-04-14 21:59:11 -03:00 committed by GitHub
parent c6114c9f62
commit 7120644945
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -41,7 +41,12 @@ const downloadFromYoutube = async (command, args) => {
}; };
const getApproxSize = async (command, videoUrl) => { const getApproxSize = async (command, videoUrl) => {
const args = [videoUrl, '--compat-opt', 'manifest-filesize-approx', '-O', 'filesize_approx']; let args = [];
if (fs.existsSync(path.resolve(__dirname, "../props/cookies.txt"))) {
args = [videoUrl, '--compat-opt', 'manifest-filesize-approx', '-O', 'filesize_approx', '--cookies', path.resolve(__dirname, "../props/cookies.txt")];
} else {
args = [videoUrl, '--compat-opt', 'manifest-filesize-approx', '-O', 'filesize_approx'];
}
try { try {
const { stdout } = await downloadFromYoutube(command, args); const { stdout } = await downloadFromYoutube(command, args);
const sizeInBytes = parseInt(stdout.trim(), 10); const sizeInBytes = parseInt(stdout.trim(), 10);
@ -113,9 +118,9 @@ module.exports = (bot) => {
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
Strings.ytDownload.downloadingVid, { Strings.ytDownload.downloadingVid, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
const dlpArgs = [videoUrl, ...cmdArgs.split(' '), mp4File]; const dlpArgs = [videoUrl, ...cmdArgs.split(' '), mp4File];
@ -126,12 +131,12 @@ module.exports = (bot) => {
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
Strings.ytDownload.uploadingVid, { Strings.ytDownload.uploadingVid, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
if(fs.existsSync(tempMp4File)){ if (fs.existsSync(tempMp4File)) {
await downloadFromYoutube(ffmpegPath, ffmpegArgs); await downloadFromYoutube(ffmpegPath, ffmpegArgs);
} }
@ -140,7 +145,8 @@ module.exports = (bot) => {
try { try {
await ctx.replyWithVideo({ await ctx.replyWithVideo({
source: mp4File }, { source: mp4File
}, {
caption: message, caption: message,
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
@ -154,9 +160,9 @@ module.exports = (bot) => {
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
Strings.ytDownload.uploadLimit, { Strings.ytDownload.uploadLimit, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
} else { } else {
const errMsg = Strings.ytDownload.uploadErr.replace("{error}", error) const errMsg = Strings.ytDownload.uploadErr.replace("{error}", error)
@ -165,9 +171,9 @@ module.exports = (bot) => {
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
errMsg, { errMsg, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
}; };
@ -185,22 +191,21 @@ module.exports = (bot) => {
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
Strings.ytDownload.libNotFound, { Strings.ytDownload.libNotFound, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
} }
} catch (error) { } catch (error) {
console.error(error);
const errMsg = Strings.ytDownload.uploadErr.replace("{error}", error) const errMsg = Strings.ytDownload.uploadErr.replace("{error}", error)
await ctx.telegram.editMessageText( await ctx.telegram.editMessageText(
ctx.chat.id, ctx.chat.id,
downloadingMessage.message_id, downloadingMessage.message_id,
null, null,
errMsg, { errMsg, {
parse_mode: 'Markdown', parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id, reply_to_message_id: ctx.message.message_id,
}, },
); );
} }
}); });