Advertisement
kamrantekkit

pixivart search

Jul 22nd, 2020 (edited)
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require("discord.js");
  2. const pixiv = new PixivApi();
  3. const mvdir = require('mvdir');
  4. const del = require('del');  
  5.  
  6.  
  7. const word = args.join(" ");
  8.   if (!word) {
  9.     return message.channel.send(`Specific what to search for.`)
  10.   }
  11.  
  12.   async function art(word) {
  13.     await pixiv.login('username', 'password')
  14.     let store = await search(word)
  15.     let randomIndex = Math.floor(Math.random() * store.length);
  16.     console.log(store.length)
  17.     let array = store[randomIndex]
  18.     if (!array) {
  19.       return illusts = "false";
  20.     }
  21.     let link = array.two
  22.     return {
  23.       one: array.one,
  24.       two: link
  25.     }
  26.   }
  27.  
  28.   async function search(word) {
  29.     let json1 = await pixiv.searchIllust(word)
  30.     const data1 = json1.illusts
  31.     let store1 = data1.map(val => ({ one: val.id, two: val.image_urls.large }))
  32.     if (json1.next_url) {
  33.       let store2;
  34.       let further1 = await searchfurther(json1.next_url).catch(error => console.log(error));
  35.       store1 = await store1.concat(further1.store1)
  36.       if (further1.store2.next_url) {
  37.         let further2 = await searchfurther(further1.store2.next_url)
  38.         store1 = await store2.concat(further2.store1)
  39.       }
  40.     }
  41.  
  42.     return store1
  43.   }
  44.  
  45.   async function searchfurther(json) {
  46.     let jsonfurther = await pixiv.requestUrl(json);
  47.     const datafurther = jsonfurther.illusts
  48.     let storefurther = datafurther.map(val => ({ one: val.id, two: val.image_urls.large }))
  49.     if (jsonfurther.next_url) {
  50.       return {
  51.         store1: storefurther,
  52.         store2: jsonfurther
  53.       }
  54.  
  55.     }
  56.     return {
  57.       store1: storefurther
  58.     }
  59.   }
  60.  
  61.   async function dlink(url) {
  62.     let name = await pixivImg(url)
  63.     return name
  64.   }
  65.  
  66.   async function move() {
  67.     let array = await art(word)
  68.     if(array == "false") {
  69.       return illusts = "false"
  70.     }
  71.     let name = await dlink(array.two)
  72.     await mvdir(`${name}`, `Tempimage/${name}`);
  73.     return {
  74.       one: array.one,
  75.       two: name
  76.     }
  77.   }
  78.  
  79.  
  80.   async function attach() {
  81.     let art = await move()
  82.     if(art == "false") {
  83.       return message.channel.send("Could not find any art")
  84.     }
  85.     let array = {
  86.       one: art.one,
  87.       two: art.two,
  88.     }
  89.     await embed(array)
  90.     await del([`./Tempimage/${array.two}`]);
  91.  
  92.   }
  93.  
  94.   async function embed(array) {
  95.  
  96.  
  97.     const file = await new Discord.MessageAttachment(`./Tempimage/${array.two}`);
  98.  
  99.     let botembed = await new Discord.MessageEmbed()
  100.       .setColor("#ff0fef")
  101.       .setDescription(`Sauce: https://www.pixiv.net/en/artworks/${array.one}`)
  102.       .attachFiles(file)
  103.       .setImage(`attachment://${array.two}`)
  104.  
  105.     await message.channel.send(botembed).catch(console.error)
  106.   }
  107.   attach()
  108.  
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement