Compare commits
	
		
			2 Commits
		
	
	
		
			ace5721457
			...
			3b8270e9a7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3b8270e9a7 | |||
| f5ba580eb1 | 
| @ -22,23 +22,22 @@ client.on("messageCreate", async message => { | ||||
| 	for (let pixiv_url of pixiv_urls) { | ||||
| 		try { | ||||
| 			let illust = Object.values(JSON.parse((await (await fetch(pixiv_url)).text()).match(/<meta name="preload-data" id="meta-preload-data" content='(.*)'>/)[1]).illust)[0]; | ||||
| 			let image_urls = []; | ||||
| 			for (let i = 0; i < illust.pageCount; i++) image_urls.push(illust.urls.original.replace('p0', 'p'+i)); | ||||
| 			if (image_urls.length <= 10) { | ||||
| 			let images = []; | ||||
| 			for (let i = 0; i < illust.pageCount; i++) images.push({url: illust.urls.original.replace('p0', 'p'+i)}); | ||||
| 			if (images.length <= 10) { | ||||
| 				try { | ||||
| 					let files = []; | ||||
| 					for (let image_url of image_urls) { | ||||
| 						files.push({attachment: await (await fetch(image_url,{headers:{"Referer":"https://www.pixiv.net/"}})).buffer(), name: image_url.split('/').pop()}); | ||||
| 					} | ||||
| 					await message.channel.send({files}); | ||||
| 					await message.channel.send({files: images.map(image => ({attachment: image.data = await (await fetch(image_url, {headers: {"Referer": "https://www.pixiv.net/"}})).buffer(), name: image.url.split('/').pop()}))}); | ||||
| 				} catch (error) { | ||||
| 					if (error.message == "Request entity too large") await fallback(); | ||||
| 					else throw error; | ||||
| 				} | ||||
| 			} else await fallback(); | ||||
| 			function fallback() { | ||||
| 				image_urls = image_urls.map(url => url.replace("https://i.pximg.net/", `https://${config.web_hostname}/pixiv-proxy/`)); | ||||
| 				return message.channel.send(image_urls.join("\n")); | ||||
| 				// save the data already downloaded
 | ||||
| 				for (let image of images) { | ||||
| 					fs.writeFileSync(config.data_dir + "pixiv-cache/" + image.url.split('?')[0].replace(/\//g, '\\'), image.data); | ||||
| 				} | ||||
| 				return message.channel.send(images.map(image => image.url.replace("https://i.pximg.net/", `https://${config.web_hostname}/pixiv-proxy/`)).join('\n')); | ||||
| 			} | ||||
| 		} catch (error) { | ||||
| 			console.error("pixiv embed error,", error.stack); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user