diff --git a/package.json b/package.json index ab2cbdb..c447427 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "fs": "^0.0.1-security", "generate-password": "^1.7.0", "giphy-api": "^2.0.2", - "hdqwalls-wrapper": "^1.0.4", "he": "^1.2.0", "html-entities": "^2.3.3", "i": "^0.3.7", diff --git a/src/commands/images/blur.js b/src/commands/images/blur.js new file mode 100644 index 0000000..5558b46 --- /dev/null +++ b/src/commands/images/blur.js @@ -0,0 +1,17 @@ +const Discord = require('discord.js'); +const { Canvas } = require("canvacord"); + +module.exports = async (client, interaction, args) => { + + const member = interaction.options.getUser('user'); + + const userAvatar = member.displayAvatarURL({ dynamic: false, size: 1024, format: 'png' }); + + const lvl = 4 + + const img = await Canvas.blur(userAvatar, lvl) + + let attach = new Discord.AttachmentBuilder(img, { name: "blurred.png" }); + interaction.editReply({ files: [attach] }) +} + diff --git a/src/commands/images/meme.js b/src/commands/images/meme.js index afe5f09..217bf1b 100644 --- a/src/commands/images/meme.js +++ b/src/commands/images/meme.js @@ -1,16 +1,16 @@ const fetch = require("node-fetch"); - +const Discord = require('discord.js'); module.exports = async (client, interaction, args) => { - fetch(`https://some-random-api.ml/meme`).then((res) => res.json()).catch({}) - .then(async (json) => { - - client.embed({ - title: json.caption, - image: json.image, - type: 'editreply' - }, interaction) - }).catch({}) -} - - \ No newline at end of file + fetch(`https://www.reddit.com/r/memes` + `.json?sort=top&t=week&limit=100`).then(res => res.json()).then(async (json) => { + let i = Math.floor(Math.random() * json.data.children.length) + let image = json.data.children[i].data.url + let caption = json.data.children[i].data.title + let embed = new Discord.EmbedBuilder() + .setTitle(caption) + .setImage(image) + .setColor(client.config.colors.normal) + .setFooter({ text: `👍 ${json.data.children[i].data.ups} | 💬 ${json.data.children[i].data.num_comments}` }) + interaction.editReply({ embeds: [embed] }) + }).catch({}) +} \ No newline at end of file diff --git a/src/dev.js b/src/dev.js index 1417dec..4e50e8b 100644 --- a/src/dev.js +++ b/src/dev.js @@ -4,7 +4,11 @@ * If someone tells you to use this to add their id, they are lying * * @string member - The member you want to add the badge to -*/ +*/ +if (!process.argv[2]) { + console.log(chalk.red(`[ERROR]`), chalk.white(`>>`), chalk.red(`Developer Badge`), chalk.white(`>>`), chalk.red(`Please provide a member id!`)) + process.exit(1); +} require('dotenv').config('./.env'); // Require database const mongoose = require('mongoose'); @@ -13,36 +17,47 @@ const model = require('./database/models/badge.js'); const chalk = require('chalk'); // Connect to the database mongoose.set('strictQuery', false); +// Await the connection mongoose.connect(process.env.MONGO_TOKEN, { useNewUrlParser: true, - useUnifiedTopology: true, -}); -if(!process.argv[2]) { - console.log(chalk.red(`[ERROR]`), chalk.white(`>>`), chalk.red(`Developer Badge`), chalk.white(`>>`), chalk.red(`Please provide a member id!`)) + useUnifiedTopology: true +}).then(() => { + console.log(chalk.green(`[SUCCESS]`), chalk.white(`>>`), chalk.green(`Developer Badge`), chalk.white(`>>`), chalk.green(`Connected to the database!`)) +}).catch((err) => { + console.log(chalk.red(`[ERROR]`), chalk.white(`>>`), chalk.red(`Developer Badge`), chalk.white(`>>`), chalk.red(`Failed to connect to the database!`)) + console.log(err) process.exit(1); -} +}); // Find the user model.findOne({ User: process.argv[2] }, async (err, data) => { - if(err) console.log(err); - if(!data) { + if (err) console.log(err); + if (!data) { // Create a new document const newData = new model({ User: process.argv[2], FLAGS: [ - "Developer" + "DEVELOPER" ] }); - newData.save(); + try { + await newData.save(); + } catch (err) { + console.log(err) + } console.log((chalk.white(`>>`)), chalk.red(`Developer Badge`), chalk.green(`has been added to the user!`)) mongoose.connection.close(); process.exit(0); } - if(data) { + if (data) { // Update the document - data.FLAGS.push("Developer"); - data.save(); + data.FLAGS.push("DEVELOPER"); + try { + await data.save(); + } catch (err) { + console.log(err) + } console.log((chalk.white(`>>`)), chalk.red(`Developer Badge`), chalk.green(`has been added to the user!`)) mongoose.connection.close(); process.exit(0);