JaBa/commands/Images/facepalm.js
2021-12-11 01:11:50 +05:00

47 lines
No EOL
1.3 KiB
JavaScript

const Command = require("../../base/Command.js"),
Canvas = require("canvas"),
Discord = require("discord.js");
class Facepalm extends Command {
constructor (client) {
super(client, {
name: "facepalm",
dirname: __dirname,
enabled: true,
guildOnly: false,
aliases: [ "palm" ],
memberPermissions: [],
botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS", "ATTACH_FILES" ],
nsfw: false,
ownerOnly: false,
cooldown: 5000
});
}
async run (message, args) {
const user = await this.client.resolveUser(args[0]) || message.author,
m = await message.sendT("misc:PLEASE_WAIT", null, { prefixEmoji: "loading" });
const canvas = Canvas.createCanvas(632, 357),
ctx = canvas.getContext("2d");
// Draw background for transparent avatar
ctx.fillStyle = "black";
ctx.fillRect(0, 0, 632, 357);
// Draw avatar
const avatar = await Canvas.loadImage(user.displayAvatarURL({ format: "png", size: 512 }));
ctx.drawImage(avatar, 199, 112, 235, 235);
// Draw layer
const layer = await Canvas.loadImage("./assets/img/facepalm.png");
ctx.drawImage(layer, 0, 0, 632, 357);
const attachment = new Discord.MessageAttachment(canvas.toBuffer(), "facepalm.png");
m.delete();
message.channel.send(attachment);
}
};
module.exports = Facepalm;