From db412b8e0988f0cc65a73c05b4778a97e3e1af26 Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Tue, 2 May 2017 01:22:16 +0000 Subject: [PATCH] Invert Command --- commands/avataredit/invert.js | 33 +++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 commands/avataredit/invert.js diff --git a/commands/avataredit/invert.js b/commands/avataredit/invert.js new file mode 100644 index 00000000..5c22508a --- /dev/null +++ b/commands/avataredit/invert.js @@ -0,0 +1,33 @@ +const { Command } = require('discord.js-commando'); +const Jimp = require('jimp'); + +module.exports = class InvertCommand extends Command { + constructor(client) { + super(client, { + name: 'invert', + group: 'avataredit', + memberName: 'invert', + description: 'Invert your avatar colors.', + args: [{ + key: 'user', + prompt: 'Which user would you like to edit the avatar of?', + type: 'user' + }] + }); + } + + async run(msg, args) { + if (msg.channel.type !== 'dm') + if (!msg.channel.permissionsFor(this.client.user).has('ATTACH_FILES')) + return msg.say('This Command requires the `Attach Files` Permission.'); + const { user } = args; + const avatarURL = user.avatarURL('png', 2048); + if (!avatarURL) return msg.say('This user has no avatar.'); + const avatar = await Jimp.read(avatarURL); + avatar.invert(); + avatar.getBuffer(Jimp.MIME_PNG, (err, buff) => { + if (err) return msg.say('An Unknown Error Occurred.'); + return msg.channel.send({files: [{attachment: buff}]}); + }); + } +}; diff --git a/package.json b/package.json index 1d6845c0..86e49e5e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "17.1.4", + "version": "17.2.0", "description": "A Discord Bot", "main": "shardingmanager.js", "scripts": {