mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-22 18:29:14 +02:00
Bigger is better
This commit is contained in:
@@ -31,16 +31,16 @@ module.exports = class ApprovedCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'approved.png'));
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(base, 0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(base, 0, 0, 512, 512);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'approved.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -35,22 +35,22 @@ module.exports = class AvatarFusionCommand extends Command {
|
||||
if (!base) base = msg.author;
|
||||
const baseAvatarURL = base.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
const overlayAvatarURL = overlay.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const baseAvatarData = await snekfetch.get(baseAvatarURL);
|
||||
const baseAvatar = await loadImage(baseAvatarData.body);
|
||||
const overlayAvatarData = await snekfetch.get(overlayAvatarURL);
|
||||
const overlayAvatar = await loadImage(overlayAvatarData.body);
|
||||
ctx.globalAlpha = 0.5;
|
||||
ctx.drawImage(baseAvatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(overlayAvatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(baseAvatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(overlayAvatar, 0, 0, 512, 512);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'avatar-fusion.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -30,16 +30,16 @@ module.exports = class ChristmasHatCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'christmas-hat.png'));
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(base, 65, -26, 200, 235);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(base, 122, -34, 375, 441);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'christmas-hat.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -30,15 +30,15 @@ module.exports = class GreyscaleCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
const imgData = ctx.getImageData(0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
const imgData = ctx.getImageData(0, 0, 512, 512);
|
||||
const { data } = imgData;
|
||||
for (let i = 0; i < data.length; i += 4) {
|
||||
const brightness = (0.34 * data[i]) + (0.5 * data[i + 1]) + (0.16 * data[i + 2]);
|
||||
|
||||
@@ -29,15 +29,15 @@ module.exports = class InvertCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
const imgData = ctx.getImageData(0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
const imgData = ctx.getImageData(0, 0, 512, 512);
|
||||
const { data } = imgData;
|
||||
for (let i = 0; i < data.length; i += 4) {
|
||||
data[i] = 255 - data[i];
|
||||
|
||||
@@ -32,12 +32,12 @@ module.exports = class PixelizeCommand extends Command {
|
||||
size: 64
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.imageSmoothingEnabled = false;
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'pixelize.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -31,16 +31,16 @@ module.exports = class RainbowCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'rainbow.png'));
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(base, 0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(base, 0, 0, 512, 512);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rainbow.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -31,16 +31,16 @@ module.exports = class RejctedCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'rejected.png'));
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(base, 0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(base, 0, 0, 512, 512);
|
||||
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rejected.png' }] });
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -30,17 +30,17 @@ module.exports = class ThugLifeCommand extends Command {
|
||||
if (!user) user = msg.author;
|
||||
const avatarURL = user.displayAvatarURL({
|
||||
format: 'png',
|
||||
size: 256
|
||||
size: 512
|
||||
});
|
||||
try {
|
||||
const canvas = createCanvas(256, 256);
|
||||
const canvas = createCanvas(512, 512);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'thug-life.png'));
|
||||
const { body } = await snekfetch.get(avatarURL);
|
||||
const avatar = await loadImage(body);
|
||||
ctx.drawImage(avatar, 0, 0, 256, 256);
|
||||
ctx.drawImage(base, 15, 175, 225, 75);
|
||||
const imgData = ctx.getImageData(0, 0, 256, 256);
|
||||
ctx.drawImage(avatar, 0, 0, 512, 512);
|
||||
ctx.drawImage(base, 90, 379, 332, 111);
|
||||
const imgData = ctx.getImageData(0, 0, 512, 512);
|
||||
const { data } = imgData;
|
||||
for (let i = 0; i < data.length; i += 4) {
|
||||
const brightness = (0.34 * data[i]) + (0.5 * data[i + 1]) + (0.16 * data[i + 2]);
|
||||
|
||||
Reference in New Issue
Block a user