Archived
Dateien nach "commands/image" hochladen
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
const { createCanvas, loadImage } = require('canvas');
|
||||
const request = require('node-superfetch');
|
||||
module.exports = {
|
||||
|
||||
name: "avatarfusion",
|
||||
aliases: ["avs"],
|
||||
category: "Image",
|
||||
description: "",
|
||||
usage: "[first mention | first username | first ID | first nickname] <second mention | second username | second ID | second nickname> ",
|
||||
accessableby: "everyone"
|
||||
,
|
||||
run: async (bot, message, args) => {
|
||||
if (!message.guild.me.hasPermission('ATTACH_FILES')) return message.channel.send("**Fehlende Berechtigungen - [ATTACH_FILES]!**");
|
||||
if (!args[0]) return message.channel.send("**Welcher Benutzer möchtest du die Basis sein?**");
|
||||
if (!args[1]) return message.channel.send("**Welchen Benutzer möchten Sie über die Basis stellen?**");
|
||||
let base = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName === args[0].toLocaleLowerCase());
|
||||
if (!base) return message.channel.send("**Basisbenutzer nicht gefunden!**");
|
||||
let overlay = message.mentions.members.first(2)[1] || message.guild.members.cache.get(args[1]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[1].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName === args[1].toLocaleLowerCase());
|
||||
if (!overlay) return message.channel.send("**Overlay-Benutzer nicht gefunden!**");
|
||||
const baseAvatarURL = base.user.displayAvatarURL({ format: 'png', size: 512 });
|
||||
const overlayAvatarURL = overlay.user.displayAvatarURL({ format: 'png', size: 512 });
|
||||
try {
|
||||
const baseAvatarData = await request.get(baseAvatarURL);
|
||||
const baseAvatar = await loadImage(baseAvatarData.body);
|
||||
const overlayAvatarData = await request.get(overlayAvatarURL);
|
||||
const overlayAvatar = await loadImage(overlayAvatarData.body);
|
||||
const canvas = createCanvas(baseAvatar.width, baseAvatar.height);
|
||||
const ctx = canvas.getContext('2d');
|
||||
ctx.globalAlpha = 0.5;
|
||||
ctx.drawImage(baseAvatar, 0, 0);
|
||||
ctx.drawImage(overlayAvatar, 0, 0, baseAvatar.width, baseAvatar.height);
|
||||
return message.channel.send({ files: [{ attachment: canvas.toBuffer(), name: 'avatarfusion.png' }] });
|
||||
} catch (err) {
|
||||
return message.channel.send(`Oh nein, es ist ein Fehler aufgetreten: \`${err.message}\`. Versuchen Sie es später noch einmal!`);
|
||||
};
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user