imgur schmimgur
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				fetch npm modules / f0ck the f0cker (push) Successful in 19s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	fetch npm modules / f0ck the f0cker (push) Successful in 19s
				
			This commit is contained in:
		| @@ -11,7 +11,11 @@ import path from "path"; | ||||
| const regex = { | ||||
|   all:   /https?:\/\/([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?/gi, | ||||
|   yt:    /(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|watch\/?\?(?:\S*?&?v\=))|youtu\.be\/)([a-zA-Z0-9_-]{6,11})/gi, | ||||
| <<<<<<< HEAD | ||||
|   imgur: /(?:https?:)?\/\/(\w+\.)?imgur\.com\/(\S*)(\.[a-zA-Z]{3})/gm, | ||||
| ======= | ||||
|   imgur: /(?:https?:)?\/\/(\w+\.)?imgur\.com\/(\S*)(\.[a-zA-Z]{3,4})/gi, | ||||
| >>>>>>> 2b2fe45 (imgur schmimgur) | ||||
|   instagram: /(?:https?:\/\/www\.)?instagram\.com\S*?\/(?:p|reel)\/(\w{11})\/?/im | ||||
| }; | ||||
| const mediagroupids = new Set(); | ||||
| @@ -51,8 +55,13 @@ export default async bot => { | ||||
|       console.log(`parsing ${links.length} link${links.length > 1 ? "s" : ""}...`); | ||||
|  | ||||
|       links.forEach(async link => { | ||||
| <<<<<<< HEAD | ||||
|         if(regex.imgur.test(link)) | ||||
|           await e.reply(`imgur schmimigur`); | ||||
| ======= | ||||
|         //if(regex.imgur.test(link)) | ||||
|         //  return await e.reply(`fuck imgur... seriously`); | ||||
| >>>>>>> 2b2fe45 (imgur schmimgur) | ||||
|  | ||||
|         if(regex.instagram.test(link)) | ||||
|           await e.reply(`insta schminsta`); | ||||
| @@ -69,16 +78,34 @@ export default async bot => { | ||||
|  | ||||
|         // read metadata | ||||
|         let ext; | ||||
| <<<<<<< HEAD | ||||
|         if(regex.imgur.test(link)) { | ||||
|           // is imgur | ||||
|           try { | ||||
|             // will die extension von der url  | ||||
|             ext = link.split(".").slice(-1).join("."); | ||||
| ======= | ||||
|         if(link.match(regex.instagram)) { | ||||
|           // is instagram | ||||
|           try { | ||||
|             // @flummi -> is there a variable for the actual work directory so it doesn't have to be hardcoded? | ||||
|             const meta = JSON.parse((await queue.exec(`yt-dlp -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' --skip-download --dump-json "${link}"`)).stdout); | ||||
|             ext = meta.ext; | ||||
| >>>>>>> 2b2fe45 (imgur schmimgur) | ||||
|           } catch(err) { | ||||
|             const tmphead = (await fetch(link, { method: "HEAD" })).headers["content-type"]; | ||||
|             // this can be undefined for unsupported mime types, but will be caught in the general mime check below | ||||
|             ext = cfg.mimes[tmphead]; | ||||
| <<<<<<< HEAD | ||||
|           }  | ||||
| ======= | ||||
|           } | ||||
|         } | ||||
|         else if(link.match(regex.imgur)) { | ||||
|           // imghure | ||||
|           ext = link.split('.').pop(); | ||||
|           await e.reply(`extension: ${ext}`); | ||||
| >>>>>>> 2b2fe45 (imgur schmimgur) | ||||
|         } | ||||
|         else { | ||||
|           // is not instagram | ||||
| @@ -100,10 +127,11 @@ export default async bot => { | ||||
|           disable_notification: true | ||||
|         }); | ||||
|  | ||||
|         // download data | ||||
|         // <download data> | ||||
|         const start = new Date(); | ||||
|         let source; | ||||
|  | ||||
| <<<<<<< HEAD | ||||
|         try { | ||||
|           if(regex.instagram.test(link)) | ||||
|             try { | ||||
| @@ -133,19 +161,40 @@ export default async bot => { | ||||
|                 return await e.editMessageText(msg.result.chat.id, msg.result.message_id, err); | ||||
|               return await e.reply(err); | ||||
|             } | ||||
|           } | ||||
| ======= | ||||
|         if(link.match(regex.instagram)) { | ||||
|           try { | ||||
|             // add --cookies <path-to-cookies-file> on local instance if you want to avoid getting rate limited | ||||
|             source = (await queue.exec(`yt-dlp -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.${ext}s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim(); | ||||
|           } catch(err) { | ||||
|           console.log(err); | ||||
|             if(e.type == 'tg') | ||||
|               return await e.editMessageText(msg.result.chat.id, msg.result.message_id, "instagram dl error"); | ||||
|             return await e.reply("instagram dl error", err); | ||||
| >>>>>>> 2b2fe45 (imgur schmimgur) | ||||
|           } | ||||
|  | ||||
|         // this is how it was before I fucked it up :> | ||||
|         // try { | ||||
|         //   source = (await queue.exec(`yt-dlp -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.%(ext)s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim(); | ||||
|         // } catch(err) { | ||||
|         //   if(e.type == 'tg') | ||||
|         //     return await e.editMessageText(msg.result.chat.id, msg.result.message_id, "something went wrong lol"); | ||||
|         //   return await e.reply("something went wrong lol"); | ||||
|         // } | ||||
|         } | ||||
|         else if(link.match(regex.imgur)) { | ||||
|           // imghure via torsocks | ||||
|           try { | ||||
|             await queue.exec(`torsocks wget ${link} -O ./tmp/${uuid}.${ext}`); | ||||
|             source = `./tmp/${uuid}.${ext}`; | ||||
|           } catch(err) { | ||||
|             console.error('err:', err); | ||||
|             if(e.type == 'tg') | ||||
|               return await e.editMessageText(msg.result.chat.id, msg.result.message_id, err); | ||||
|             return await e.reply(err); | ||||
|           } | ||||
|         } | ||||
|         else { | ||||
|           try { | ||||
|             source = (await queue.exec(`yt-dlp -f 'bv*[height<=720]+ba/b[height<=720] / wv*+ba/w' "${link}" --max-filesize ${maxfilesize / 1024}k --postprocessor-args "ffmpeg:-bitexact" -o "./tmp/${uuid}.${ext}s" --print after_move:filepath --merge-output-format "mp4"`)).stdout.trim(); | ||||
|           } catch(err) { | ||||
|             if(e.type == 'tg') | ||||
|               return await e.editMessageText(msg.result.chat.id, msg.result.message_id, err); | ||||
|             return await e.reply(err); | ||||
|           } | ||||
|         } | ||||
|         // </download data> | ||||
|  | ||||
|         if(!source) { | ||||
|           if(e.type == 'tg') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user