More Stoof

This commit is contained in:
Daniel Odendahl Jr
2017-10-13 17:33:29 +00:00
parent 76111000b5
commit 981f59b1b1
40 changed files with 228 additions and 125 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 43 KiB

+6 -3
View File
@@ -34,14 +34,17 @@ module.exports = class YearsCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(856, 569);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', '3000-years.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 461, 127, 200, 200);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: '3000-years.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: '3000-years.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+8 -5
View File
@@ -34,14 +34,17 @@ module.exports = class ApprovedCommand extends Command {
size: 512
});
try {
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, 512, 512);
ctx.drawImage(base, 0, 0, 512, 512);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'approved.png' }] });
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
ctx.drawImage(base, 0, 0, avatar.width, avatar.height);
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!`);
}
+8 -5
View File
@@ -42,16 +42,19 @@ module.exports = class AvatarFusionCommand extends Command {
size: 512
});
try {
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);
const canvas = createCanvas(baseAvatar.width, baseAvatar.height);
const ctx = canvas.getContext('2d');
ctx.globalAlpha = 0.5;
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' }] });
ctx.drawImage(baseAvatar, 0, 0);
ctx.drawImage(overlayAvatar, 0, 0, baseAvatar.width, baseAvatar.height);
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!`);
}
+6 -3
View File
@@ -34,15 +34,18 @@ module.exports = class BeautifulCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(500, 532);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'beautiful.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 341, 35, 117, 135);
ctx.drawImage(avatar, 343, 301, 117, 135);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'beautiful.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'beautiful.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -34,18 +34,21 @@ module.exports = class BobRossCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(600, 775);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'bob-ross.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, 600, 775);
ctx.fillRect(0, 0, base.width, base.height);
ctx.rotate(3 * (Math.PI / 180));
ctx.drawImage(avatar, 69, 102, 256, 256);
ctx.rotate(-3 * (Math.PI / 180));
ctx.drawImage(base, 0, 0);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'bob-ross.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'bob-ross.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -35,7 +35,7 @@ module.exports = class CardCommand extends Command {
if (!user) user = msg.author;
const avatarURL = user.displayAvatarURL({
format: 'png',
size: 256
size: 512
});
try {
const cardID = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
@@ -43,11 +43,11 @@ module.exports = class CardCommand extends Command {
if (cardID < 5000) rarity = 'C';
else if (cardID < 9000) rarity = 'U';
else rarity = 'R';
const canvas = createCanvas(390, 544);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'card.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, 390, 544);
ctx.drawImage(avatar, 11, 11, 370, 370);
@@ -63,7 +63,10 @@ module.exports = class CardCommand extends Command {
ctx.font = '14px Noto';
ctx.fillText(user.id, 30, 355);
ctx.fillText(`#${user.discriminator}`, 313, 355);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'card.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'card.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -34,14 +34,17 @@ module.exports = class ChallengerCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(800, 450);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'challenger.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 484, 98, 256, 256);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'challenger.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'challenger.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+8 -5
View File
@@ -33,14 +33,17 @@ module.exports = class ChristmasHatCommand extends Command {
size: 512
});
try {
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, 512, 512);
ctx.drawImage(base, 122, -34, 375, 441);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'christmas-hat.png' }] });
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
ctx.drawImage(base, 0, 0, avatar.width, avatar.height);
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!`);
}
+6 -3
View File
@@ -33,16 +33,19 @@ module.exports = class DexterCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(744, 554);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'dexter.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.rotate(-11 * (Math.PI / 180));
ctx.drawImage(avatar, 234, 274, 225, 225);
ctx.rotate(11 * (Math.PI / 180));
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'dexter.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'dexter.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -34,15 +34,18 @@ module.exports = class FoodBrokeCommand extends Command {
size: 128
});
try {
const canvas = createCanvas(680, 680);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'food-broke.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 23, 9, 125, 125);
ctx.drawImage(avatar, 117, 382, 75, 75);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'food-broke.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'food-broke.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+8 -5
View File
@@ -33,12 +33,12 @@ module.exports = class GreyscaleCommand extends Command {
size: 512
});
try {
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, 512, 512);
const imgData = ctx.getImageData(0, 0, 512, 512);
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
const imgData = ctx.getImageData(0, 0, avatar.width, avatar.height);
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]);
@@ -47,7 +47,10 @@ module.exports = class GreyscaleCommand extends Command {
data[i + 2] = brightness;
}
ctx.putImageData(imgData, 0, 0);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'greyscale.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'greyscale.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -34,16 +34,19 @@ module.exports = class HeLivesInYouCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(500, 281);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'he-lives-in-you.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.rotate(-24 * (Math.PI / 180));
ctx.drawImage(avatar, 75, 160, 130, 150);
ctx.rotate(24 * (Math.PI / 180));
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'he-lives-in-you.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'he-lives-in-you.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -31,19 +31,22 @@ module.exports = class IHaveThePowerCommand extends Command {
if (!user) user = msg.author;
const avatarURL = user.displayAvatarURL({
format: 'png',
size: 512
size: 256
});
try {
const canvas = createCanvas(720, 536);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'i-have-the-power.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.rotate(18.3 * (Math.PI / 180));
ctx.drawImage(avatar, 332, -125, 175, 175);
ctx.rotate(-18.3 * (Math.PI / 180));
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'i-have-the-power.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'i-have-the-power.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+8 -5
View File
@@ -32,12 +32,12 @@ module.exports = class InvertCommand extends Command {
size: 512
});
try {
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, 512, 512);
const imgData = ctx.getImageData(0, 0, 512, 512);
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
const imgData = ctx.getImageData(0, 0, avatar.width, avatar.height);
const { data } = imgData;
for (let i = 0; i < data.length; i += 4) {
data[i] = 255 - data[i];
@@ -45,7 +45,10 @@ module.exports = class InvertCommand extends Command {
data[i + 2] = 255 - data[i + 2];
}
ctx.putImageData(imgData, 0, 0);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'invert.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'invert.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
@@ -34,16 +34,19 @@ module.exports = class LookAtThisPhotographCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(620, 349);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'look-at-this-photograph.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.rotate(-13.5 * (Math.PI / 180));
ctx.drawImage(avatar, 280, 218, 175, 125);
ctx.rotate(13.5 * (Math.PI / 180));
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'look-at-this-photograph.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'look-at-this-photograph.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -33,16 +33,19 @@ module.exports = class PhotographCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(625, 417);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'photograph.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.rotate(-8.21 * (Math.PI / 180));
ctx.drawImage(avatar, 85, 116, 150, 150);
ctx.rotate(8.21 * (Math.PI / 180));
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'photograph.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'photograph.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -32,13 +32,16 @@ module.exports = class PixelizeCommand extends Command {
size: 64
});
try {
const canvas = createCanvas(512, 512);
const ctx = canvas.getContext('2d');
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(512, 512);
const ctx = canvas.getContext('2d');
ctx.imageSmoothingEnabled = false;
ctx.drawImage(avatar, 0, 0, 512, 512);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'pixelize.png' }] });
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!`);
}
+8 -5
View File
@@ -34,14 +34,17 @@ module.exports = class RainbowCommand extends Command {
size: 512
});
try {
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, 512, 512);
ctx.drawImage(base, 0, 0, 512, 512);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rainbow.png' }] });
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
ctx.drawImage(base, 0, 0, avatar.width, avatar.height);
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!`);
}
+8 -5
View File
@@ -34,14 +34,17 @@ module.exports = class RejctedCommand extends Command {
size: 512
});
try {
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, 512, 512);
ctx.drawImage(base, 0, 0, 512, 512);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rejected.png' }] });
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
ctx.drawImage(base, 0, 0, avatar.width, avatar.height);
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!`);
}
+6 -3
View File
@@ -34,11 +34,11 @@ module.exports = class RIPCommand extends Command {
size: 256
});
try {
const canvas = createCanvas(507, 338);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'rip.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 158, 51, 200, 200);
const imgData = ctx.getImageData(158, 51, 200, 200);
@@ -50,7 +50,10 @@ module.exports = class RIPCommand extends Command {
data[i + 2] = brightness;
}
ctx.putImageData(imgData, 158, 51);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rip.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'rip.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -38,18 +38,21 @@ module.exports = class SteamCardCommand extends Command {
size: 512
});
try {
const canvas = createCanvas(494, 568);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'steam-card.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, 494, 568);
ctx.fillRect(0, 0, base.width, base.height);
ctx.drawImage(avatar, 25, 25, 450, 450);
ctx.drawImage(base, 0, 0);
ctx.font = '30px Noto';
ctx.fillText(member.displayName, 35, 48);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'steam-card.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'steam-card.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -40,14 +40,14 @@ module.exports = class SteamNowPlayingCommand extends Command {
if (!member) member = msg.member;
const avatarURL = member.user.displayAvatarURL({
format: 'png',
size: 128
size: 64
});
try {
const canvas = createCanvas(239, 73);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'steam-now-playing.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 21, 21, 32, 32);
ctx.fillStyle = '#90ba3c';
@@ -57,7 +57,10 @@ module.exports = class SteamNowPlayingCommand extends Command {
if (ctx.measureText(game).width > 160) shorten = true;
while (ctx.measureText(game).width > 160) game = game.substr(0, game.length - 1);
ctx.fillText(shorten ? `${game}...` : game, 63, 54);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'steam-now-playing.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'steam-now-playing.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+9 -6
View File
@@ -33,14 +33,14 @@ module.exports = class ThugLifeCommand extends Command {
size: 512
});
try {
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, 512, 512);
ctx.drawImage(base, 90, 379, 332, 111);
const imgData = ctx.getImageData(0, 0, 512, 512);
const canvas = createCanvas(avatar.width, avatar.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(avatar, 0, 0);
ctx.drawImage(base, 0, 0, avatar.width, avatar.height);
const imgData = ctx.getImageData(0, 0, avatar.width, avatar.height);
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]);
@@ -49,7 +49,10 @@ module.exports = class ThugLifeCommand extends Command {
data[i + 2] = brightness;
}
ctx.putImageData(imgData, 0, 0);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'thug-life.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'thug-life.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+7 -4
View File
@@ -33,20 +33,23 @@ module.exports = class TriggeredCommand extends Command {
size: 512
});
try {
const canvas = createCanvas(320, 371);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'triggered.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'white';
ctx.fillRect(0, 0, 320, 371);
ctx.fillRect(0, 0, base.width, base.height);
ctx.drawImage(avatar, 0, 0, 320, 320);
const imgData = ctx.getImageData(0, 0, 320, 320);
const { data } = imgData;
for (let i = 0; i < data.length; i += 4) data[i] = Math.max(255, data[i]);
ctx.putImageData(imgData, 0, 0);
ctx.drawImage(base, 0, 0);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'triggered.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'triggered.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -34,14 +34,17 @@ module.exports = class WantedCommand extends Command {
size: 512
});
try {
const canvas = createCanvas(741, 1000);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'wanted.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 150, 360, 430, 430);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'wanted.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'wanted.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -34,14 +34,17 @@ module.exports = class YuGiOhTokenCommand extends Command {
size: 512
});
try {
const canvas = createCanvas(384, 564);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'yu-gi-oh-token.png'));
const { body } = await snekfetch.get(avatarURL);
const avatar = await loadImage(body);
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 45, 102, 293, 294);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'yu-gi-oh-token.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'yu-gi-oh-token.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+2 -1
View File
@@ -55,7 +55,8 @@ module.exports = class QuizCommand extends Command {
answers.push(correct);
await msg.say(stripIndents`
**You have 15 seconds to answer this question.**
_${decodeURIComponent(body.results[0].category)}:_ ${decodeURIComponent(body.results[0].question)}
_${decodeURIComponent(body.results[0].category)}_
${decodeURIComponent(body.results[0].question)}
${type === 'boolean' ? 'True or False?' : ''}${type === 'multiple' ? `${list(shuffle(answers), 'or')}?` : ''}
`);
const msgs = await msg.channel.awaitMessages(res => res.author.id === msg.author.id, {
+8 -3
View File
@@ -1,4 +1,5 @@
const { Command } = require('discord.js-commando');
const { MessageEmbed } = require('discord.js')
const snekfetch = require('snekfetch');
const { filterPkmn } = require('../../structures/Util');
@@ -10,7 +11,7 @@ module.exports = class WhosThatPokemonCommand extends Command {
group: 'games',
memberName: 'whos-that-pokemon',
description: 'Guess who that Pokémon is.',
clientPermissions: ['ATTACH_FILES']
clientPermissions: ['EMBED_LINKS']
});
}
@@ -20,8 +21,12 @@ module.exports = class WhosThatPokemonCommand extends Command {
const { body } = await snekfetch.get(`https://pokeapi.co/api/v2/pokemon-species/${pokemon}/`);
const names = body.names.map(name => name.name.toLowerCase());
const displayName = filterPkmn(body.names).name;
const image = `https://www.serebii.net/sunmoon/pokemon/${'000'.slice(body.id.toString().length)}${body.id}.png`;
await msg.say('**You have 15 seconds, who\'s that Pokémon?**', { files: [image] });
const id = `${'000'.slice(body.id.toString().length)}${body.id}`;
const embed = new MessageEmbed()
.setColor(0xED1C24)
.setTitle('You have 15 seconds, who\'s that Pokémon?')
.setImage(`https://www.serebii.net/sunmoon/pokemon/${id}.png`);
await msg.embed(embed);
const msgs = await msg.channel.awaitMessages(res => res.author.id === msg.author.id, {
max: 1,
time: 15000
+4 -1
View File
@@ -33,7 +33,10 @@ module.exports = class AchievementCommand extends Command {
h: 'Achievement Get!',
t: text
});
return msg.say({ files: [{ attachment: body, name: 'achievement.png' }] });
return msg.say({ files: [{
attachment: body,
name: 'achievement.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+6 -3
View File
@@ -32,9 +32,9 @@ module.exports = class BeLikeBillCommand extends Command {
}
async run(msg, { name }) {
const canvas = createCanvas(800, 420);
const ctx = canvas.getContext('2d');
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'be-like-bill.png'));
const canvas = createCanvas(base.width, base.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0);
ctx.font = '23px Noto';
const text = stripIndents`
@@ -46,7 +46,10 @@ module.exports = class BeLikeBillCommand extends Command {
Be like ${name}.
`;
ctx.fillText(text, 31, 80);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'be-like-bill.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'be-like-bill.png'
}] });
}
};
+4 -1
View File
@@ -30,6 +30,9 @@ module.exports = class ColorCommand extends Command {
const ctx = canvas.getContext('2d');
ctx.fillStyle = color;
ctx.fillRect(0, 0, 250, 250);
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'color.png' }] });
return msg.say({ files: [{
attachment: canvas.toBuffer(),
name: 'color.png'
}] });
}
};
+4 -1
View File
@@ -45,7 +45,10 @@ module.exports = class MemeCommand extends Command {
const search = await snekfetch.get(`https://memegen.link/api/search/${type}`);
if (!search.body.length) return msg.say('Could not find any results.');
const { body } = await snekfetch.get(search.body[0].template.blank.replace(/\/_/, `/${top}/${bottom}`));
return msg.say({ files: [{ attachment: body, name: 'meme.jpg' }] });
return msg.say({ files: [{
attachment: body,
name: 'meme.jpg'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+2 -8
View File
@@ -1,5 +1,4 @@
const { Command } = require('discord.js-commando');
const snekfetch = require('snekfetch');
const pokemon = require('../../assets/json/pokemon-fusion');
module.exports = class PokemonFusionCommand extends Command {
@@ -36,12 +35,7 @@ module.exports = class PokemonFusionCommand extends Command {
});
}
async run(msg, { body, palette }) {
try {
const image = await snekfetch.get(`http://images.alexonsager.net/pokemon/fused/${body}/${body}.${palette}.png`);
return msg.say({ files: [{ attachment: image.body, name: 'pokemon-fusion.png' }] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
run(msg, { body, palette }) {
return msg.say(`http://images.alexonsager.net/pokemon/fused/${body}/${body}.${palette}.png`);
}
};
+4 -1
View File
@@ -23,7 +23,10 @@ module.exports = class RobohashCommand extends Command {
async run(msg, { text }) {
try {
const { body } = await snekfetch.get(`https://robohash.org/${text}`);
return msg.say({ files: [{ attachment: body, name: 'robohash.png' }] });
return msg.say({ files: [{
attachment: body,
name: 'robohash.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+10 -3
View File
@@ -27,9 +27,16 @@ module.exports = class AvatarCommand extends Command {
const format = user.avatar.startsWith('a_') ? 'gif' : 'png';
const avatarURL = user.avatarURL({
format,
size: 2048
size: 512
});
const { body } = await snekfetch.get(avatarURL);
return msg.say({ files: [{ attachment: body, name: `avatar.${format}` }] });
try {
const { body } = await snekfetch.get(avatarURL);
return msg.say({ files: [{
attachment: body,
name: `avatar.${format}`
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
}
};
+4 -1
View File
@@ -41,7 +41,10 @@ module.exports = class MapCommand extends Command {
size: '500x500',
key: GOOGLE_KEY
});
return msg.say({ files: [{ attachment: body, name: 'map.png' }] });
return msg.say(`<https://www.google.com/maps/search/${encodeURIComponent(query)}>`, { files: [{
attachment: body,
name: 'map.png'
}] });
} catch (err) {
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "xiaobot",
"version": "47.2.0",
"version": "47.2.1",
"description": "Your personal server companion.",
"main": "Shard.js",
"scripts": {
View File