UNPKG

xopbot

Version:

XOPBOT Is A Multipurpose Bot With Over 200+ Commands That Make You Love The Bot!

84 lines 4.51 kB
const got = require('got'); const lineReplyNoMention = require('discord-reply'); const color = process.env.Color; const errorChannel = process.env.errorChannel; const { MessageButton, MessageActionRow } = require('discord-buttons'); module.exports = { name: "scratch-info", cooldown: 10, permissions: ["SEND_MESSAGES"], aliases: ['scratch-i', 'scr-info'], clientpermissions: ["SEND_MESSAGES", "EMBED_LINKS"], category: "Image", description: "Sends a scratch info from a project", async execute(client, message, cmd, args, Discord) { try { const user = message.author; if (!args[0]) { const nospec = new Discord.MessageEmbed() .setTimestamp() .setColor(`${color}`) .setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })) .setDescription('**`(prefix)scratch-info <scratchuser> <projectid>`**') return message.lineReplyNoMention({ embed: nospec }) } if (!args[1]) { const nospec = new Discord.MessageEmbed() .setTimestamp() .setColor(`${color}`) .setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })) .setDescription('**`(prefix)scratch-info <scratchuser> <projectid>`**') return message.lineReplyNoMention({ embed: nospec }) } let autoa = args[0]; let autob = args[1]; const on1 = new Discord.MessageEmbed() .setTimestamp() .setColor(`${color}`) .setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })) .setDescription(`🔃 **| Finding The User \`${autoa}\`... (\`Please Wait 20s\`)**`) const on2 = new Discord.MessageEmbed() .setTimestamp() .setColor(`${color}`) .setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })) .setDescription(`🔃 **| Catching Info From \`${autob}\` Project... (\`Please Wait 10s\`)**`) const on3 = new Discord.MessageEmbed() .setTimestamp() .setColor(`${color}`) .setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })) .setDescription(`✅ **| Found The User: \`${autoa}\` And Got The Information!**`) message.lineReplyNoMention({ embed: on1 }).then((msg) => { setTimeout(function () { msg.edit({ embed: on2 }) setTimeout(function () { msg.edit({ embed: on3 }) }, 10000) }, 10000) }) setInterval(() => { got(`https://api.scratch.mit.edu/users/${autoa}/projects/${autob}/`).then(response => { let content = JSON.parse(response.body); let memeTitle = content[0].title; let memeDescription = content[0].description; let memeUpvotes = content[0].views; let memeDownvotes = content[0].loves; let memeNumComments = content[0].favorites; const splitted = memeDescription.split(" ", 2048); const embed = new Discord.MessageEmbed() embed.setThumbnail(user.displayAvatarURL({ dynamic: true })) embed.setTimestamp() embed.setTitle(`${memeTitle}`) embed.setURL(`https://api.scratch.mit.edu/users/${autoa}/projects/${autob}/`) embed.setDescription(`${splitted}`) embed.setColor(`${color}`) embed.setFooter(`👀 ${memeUpvotes} 💖 ${memeDownvotes}${memeNumComments}`) message.lineReplyNoMention({ embed: embed }); }) }, 20000) } catch (err) { const errorlogs = client.channels.cache.get(errorChannel); message.lineReplyNoMention({ content: "**Looks Like An Error Has Occured!**" }); errorlogs.send({ content: `**Error On Scratch-Info Command!\n\nError:\n\n ${err}**` }) } } }