diff --git a/commands/images/face.js b/commands/images/face.js new file mode 100644 index 0000000..a9e879b --- /dev/null +++ b/commands/images/face.js @@ -0,0 +1,54 @@ +const { Command } = require('discord.js-commando'); +const faceapp = require('faceapp') +const superagent = require('superagent') +const blacklist = require('../../json/blacklist.json') + +module.exports = class faceappCommand extends Command { + constructor(client) { + super(client, { + name: 'face', + group: 'images', + memberName: 'face', + description: `use faceapp to change the face of someone, Here the available filter `, + args: [ + { + key: 'type', + prompt: 'How the face should change ? (default to female)', + type: 'string', + default: 'female', + oneOf: ["no-filter", "smile", "smile_2", "hot", "old", "young", "hollywood", "fun_glasses", "hitman", "mustache_free", "pan", "heisenberg", "female", "female_2", "male", "impression", "goatee", "mustache", "hipster", "lion", "bangs", "glasses", "wave", "makeup"] + }, + { + key: 'url', + prompt: 'Wich image would you want to process (default to empty so you can also send an image without the adress)', + type: 'string', + default: '' + } + ] + }); + } + + async run(message, { url, type }) { + if(blacklist[message.author.id]) + return message.channel.send("You are blacklisted") + + let Attachment = (message.attachments).array(); + let origin = null; + if(!Attachment[0] && !url) { + return message.say("You need to send an image") + } else if(url.includes("http") || url.includes("www")) { + origin = url; + } else + origin = Attachment[0].url + + let face = type.toLowerCase(); + let { body } = await superagent.get(origin) + try { + let image = await faceapp.process(body, face) + return message.channel.send({files: [image]}); + } + catch (error) { + message.say('Cant recognize the face'); + return console.error(error); + } +}}; \ No newline at end of file