Make avatar edit commands not say to contact me

This commit is contained in:
Daniel Odendahl Jr
2017-07-02 16:27:08 +00:00
parent 2d5bfb5ed3
commit 537f4cd88d
16 changed files with 302 additions and 250 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
const { ShardingManager } = require('discord.js'); const { ShardingManager } = require('discord.js');
const { TOKEN } = process.env; const { TOKEN } = process.env;
const Manager = new ShardingManager('./XiaoBot.js', { token: TOKEN }); const Manager = new ShardingManager('./XiaoBot.js', { token: TOKEN });
Manager.spawn(2); Manager.spawn();
+18 -14
View File
@@ -35,19 +35,23 @@ module.exports = class YearsCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(856, 569); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(856, 569);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.drawImage(avatar, 461, 127, 200, 200); ctx.drawImage(base, 0, 0);
}; ctx.drawImage(avatar, 461, 127, 200, 200);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', '3000-years.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', '3000-years.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: '3000-years.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: '3000-years.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+19 -15
View File
@@ -35,20 +35,24 @@ module.exports = class BeautifulCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(500, 532); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(500, 532);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.drawImage(avatar, 341, 35, 117, 135); ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 343, 301, 117, 135); ctx.drawImage(avatar, 341, 35, 117, 135);
}; ctx.drawImage(avatar, 343, 301, 117, 135);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'beautiful.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'beautiful.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'beautiful.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'beautiful.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+22 -18
View File
@@ -35,23 +35,27 @@ module.exports = class BobRossCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(600, 775); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(600, 775);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.fillStyle = 'white'; const generate = () => {
ctx.fillRect(0, 0, 600, 775); ctx.fillStyle = 'white';
ctx.rotate(3 * Math.PI / 180); ctx.fillRect(0, 0, 600, 775);
ctx.drawImage(avatar, 69, 102, 256, 256); ctx.rotate(3 * Math.PI / 180);
ctx.rotate(-3 * Math.PI / 180); ctx.drawImage(avatar, 69, 102, 256, 256);
ctx.drawImage(base, 0, 0); ctx.rotate(-3 * Math.PI / 180);
}; ctx.drawImage(base, 0, 0);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'bob-ross.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'bob-ross.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'bob-ross.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'bob-ross.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+40 -36
View File
@@ -38,41 +38,45 @@ module.exports = class CardCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const cardID = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000; try {
let rarity; const cardID = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
if (cardID < 5000) rarity = 'C'; let rarity;
else if (cardID < 8000) rarity = 'U'; if (cardID < 5000) rarity = 'C';
else rarity = 'R'; else if (cardID < 8000) rarity = 'U';
const Image = Canvas.Image; else rarity = 'R';
Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Roboto.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len const Image = Canvas.Image;
Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'NotoEmoji-Regular.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Roboto.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len
const canvas = new Canvas(390, 544); Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'NotoEmoji-Regular.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len
const ctx = canvas.getContext('2d'); const canvas = new Canvas(390, 544);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.fillStyle = 'white'; const generate = () => {
ctx.fillRect(0, 0, 390, 544); ctx.fillStyle = 'white';
ctx.drawImage(avatar, 11, 11, 370, 370); ctx.fillRect(0, 0, 390, 544);
ctx.drawImage(base, 0, 0); ctx.drawImage(avatar, 11, 11, 370, 370);
ctx.font = '18px Roboto'; ctx.drawImage(base, 0, 0);
ctx.fillStyle = 'black'; ctx.font = '18px Roboto';
ctx.fillText(member.displayName, 30, 62); ctx.fillStyle = 'black';
ctx.fillText('Discord Join Date:', 148, 400); ctx.fillText(member.displayName, 30, 62);
ctx.fillText(moment(member.user.createdTimestamp).format('MMMM Do YYYY'), 148, 420); ctx.fillText('Discord Join Date:', 148, 400);
ctx.fillText('Role:', 148, 457); ctx.fillText(moment(member.user.createdTimestamp).format('MMMM Do YYYY'), 148, 420);
ctx.fillText(member.highestRole.name, 148, 477); ctx.fillText('Role:', 148, 457);
ctx.fillText(rarity, 73, 411); ctx.fillText(member.highestRole.name, 148, 477);
ctx.fillText(cardID, 60, 457); ctx.fillText(rarity, 73, 411);
ctx.fillText(version.split('.')[0], 68, 502); ctx.fillText(cardID, 60, 457);
ctx.font = '14px Roboto'; ctx.fillText(version.split('.')[0], 68, 502);
ctx.fillText(member.id, 30, 355); ctx.font = '14px Roboto';
ctx.fillText(`#${member.user.discriminator}`, 313, 355); ctx.fillText(member.id, 30, 355);
}; ctx.fillText(`#${member.user.discriminator}`, 313, 355);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'card.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'card.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'card.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'card.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+20 -16
View File
@@ -34,21 +34,25 @@ module.exports = class ChallengerCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(500, 500); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(500, 500);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.fillStyle = '#ff0028'; const generate = () => {
ctx.fillRect(0, 0, 500, 500); ctx.fillStyle = '#ff0028';
ctx.drawImage(avatar, 226, 155, 200, 200); ctx.fillRect(0, 0, 500, 500);
ctx.drawImage(base, 0, 0); ctx.drawImage(avatar, 226, 155, 200, 200);
}; ctx.drawImage(base, 0, 0);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'challenger.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'challenger.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'challenger.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'challenger.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+20 -16
View File
@@ -34,21 +34,25 @@ module.exports = class DexterCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(744, 554); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(744, 554);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.rotate(-11 * Math.PI / 180); ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 234, 274, 225, 225); ctx.rotate(-11 * Math.PI / 180);
ctx.rotate(11 * Math.PI / 180); ctx.drawImage(avatar, 234, 274, 225, 225);
}; ctx.rotate(11 * Math.PI / 180);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'dexter.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'dexter.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'dexter.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'dexter.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+24 -20
View File
@@ -32,25 +32,29 @@ module.exports = class GreyscaleCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(256, 256); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(256, 256);
const avatar = new Image(); const ctx = canvas.getContext('2d');
const generate = () => { const avatar = new Image();
ctx.drawImage(avatar, 0, 0, 256, 256); const generate = () => {
const imgData = ctx.getImageData(0, 0, 256, 256); ctx.drawImage(avatar, 0, 0, 256, 256);
const { data } = imgData; const imgData = ctx.getImageData(0, 0, 256, 256);
for (let i = 0; i < data.length; i += 4) { const { data } = imgData;
const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]; for (let i = 0; i < data.length; i += 4) {
data[i] = brightness; const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];
data[i + 1] = brightness; data[i] = brightness;
data[i + 2] = brightness; data[i + 1] = brightness;
} data[i + 2] = brightness;
ctx.putImageData(imgData, 0, 0); }
}; ctx.putImageData(imgData, 0, 0);
const { body } = await snekfetch.get(avatarURL); };
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'greyscale.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'greyscale.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+23 -19
View File
@@ -31,24 +31,28 @@ module.exports = class InvertCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(256, 256); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(256, 256);
const avatar = new Image(); const ctx = canvas.getContext('2d');
const generate = () => { const avatar = new Image();
ctx.drawImage(avatar, 0, 0, 256, 256); const generate = () => {
const imgData = ctx.getImageData(0, 0, 256, 256); ctx.drawImage(avatar, 0, 0, 256, 256);
const { data } = imgData; const imgData = ctx.getImageData(0, 0, 256, 256);
for (let i = 0; i < data.length; i += 4) { const { data } = imgData;
data[i] = 255 - data[i]; for (let i = 0; i < data.length; i += 4) {
data[i + 1] = 255 - data[i + 1]; data[i] = 255 - data[i];
data[i + 2] = 255 - data[i + 2]; data[i + 1] = 255 - data[i + 1];
} data[i + 2] = 255 - data[i + 2];
ctx.putImageData(imgData, 0, 0); }
}; ctx.putImageData(imgData, 0, 0);
const { body } = await snekfetch.get(avatarURL); };
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'invert.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'invert.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+27 -23
View File
@@ -35,28 +35,32 @@ module.exports = class RIPCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(507, 338); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(507, 338);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.drawImage(avatar, 158, 51, 200, 200); ctx.drawImage(base, 0, 0);
const imgData = ctx.getImageData(158, 51, 200, 200); ctx.drawImage(avatar, 158, 51, 200, 200);
const { data } = imgData; const imgData = ctx.getImageData(158, 51, 200, 200);
for (let i = 0; i < data.length; i += 4) { const { data } = imgData;
const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2]; for (let i = 0; i < data.length; i += 4) {
data[i] = brightness; const brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];
data[i + 1] = brightness; data[i] = brightness;
data[i + 2] = brightness; data[i + 1] = brightness;
} data[i + 2] = brightness;
ctx.putImageData(imgData, 158, 51); }
}; ctx.putImageData(imgData, 158, 51);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'rip.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'rip.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rip.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'rip.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+20 -16
View File
@@ -34,21 +34,25 @@ module.exports = class SimbaCommand extends Command {
format: 'png', format: 'png',
size: 256 size: 256
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(500, 281); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(500, 281);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.rotate(-24 * Math.PI / 180); ctx.drawImage(base, 0, 0);
ctx.drawImage(avatar, 75, 160, 130, 150); ctx.rotate(-24 * Math.PI / 180);
ctx.rotate(24 * Math.PI / 180); ctx.drawImage(avatar, 75, 160, 130, 150);
}; ctx.rotate(24 * Math.PI / 180);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'simba.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'simba.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'simba.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'simba.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+24 -20
View File
@@ -34,25 +34,29 @@ module.exports = class SteamCardCommand extends Command {
format: 'png', format: 'png',
size: 512 size: 512
}); });
const Image = Canvas.Image; try {
Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Roboto.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len const Image = Canvas.Image;
Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'NotoEmoji-Regular.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Roboto.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len
const canvas = new Canvas(494, 568); Canvas.registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'NotoEmoji-Regular.ttf'), { family: 'Roboto' }); // eslint-disable-line max-len
const ctx = canvas.getContext('2d'); const canvas = new Canvas(494, 568);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.fillStyle = 'white'; const generate = () => {
ctx.fillRect(0, 0, 494, 568); ctx.fillStyle = 'white';
ctx.drawImage(avatar, 25, 25, 450, 450); ctx.fillRect(0, 0, 494, 568);
ctx.drawImage(base, 0, 0); ctx.drawImage(avatar, 25, 25, 450, 450);
ctx.font = '30px Roboto'; ctx.drawImage(base, 0, 0);
ctx.fillText(user.username, 35, 48); ctx.font = '30px Roboto';
}; ctx.fillText(user.username, 35, 48);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'steam-card.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'steam-card.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'steam-card.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'steam-card.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+24 -20
View File
@@ -34,25 +34,29 @@ module.exports = class TriggeredCommand extends Command {
format: 'png', format: 'png',
size: 512 size: 512
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(320, 371); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(320, 371);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.fillStyle = 'white'; const generate = () => {
ctx.fillRect(0, 0, 320, 371); ctx.fillStyle = 'white';
ctx.drawImage(avatar, 0, 0, 320, 320); ctx.fillRect(0, 0, 320, 371);
const imgData = ctx.getImageData(0, 0, 320, 320); ctx.drawImage(avatar, 0, 0, 320, 320);
const { data } = imgData; const imgData = ctx.getImageData(0, 0, 320, 320);
for (let i = 0; i < data.length; i += 4) data[i] = Math.max(255, data[i]); const { data } = imgData;
ctx.putImageData(imgData, 0, 0); for (let i = 0; i < data.length; i += 4) data[i] = Math.max(255, data[i]);
ctx.drawImage(base, 0, 0); ctx.putImageData(imgData, 0, 0);
}; ctx.drawImage(base, 0, 0);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'triggered.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'triggered.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'triggered.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'triggered.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+18 -14
View File
@@ -34,19 +34,23 @@ module.exports = class WantedCommand extends Command {
format: 'png', format: 'png',
size: 512 size: 512
}); });
const Image = Canvas.Image; try {
const canvas = new Canvas(741, 1000); const Image = Canvas.Image;
const ctx = canvas.getContext('2d'); const canvas = new Canvas(741, 1000);
const base = new Image(); const ctx = canvas.getContext('2d');
const avatar = new Image(); const base = new Image();
const generate = () => { const avatar = new Image();
ctx.drawImage(base, 0, 0); const generate = () => {
ctx.drawImage(avatar, 150, 360, 430, 430); ctx.drawImage(base, 0, 0);
}; ctx.drawImage(avatar, 150, 360, 430, 430);
base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'wanted.png')); };
const { body } = await snekfetch.get(avatarURL); base.src = await fs.readFileAsync(path.join(__dirname, '..', '..', 'assets', 'images', 'wanted.png'));
avatar.src = body; const { body } = await snekfetch.get(avatarURL);
generate(); avatar.src = body;
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'wanted.png' }] }); generate();
return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'wanted.png' }] });
} catch (err) {
return msg.say(`Oh no, the image generation failed: \`${err.message}\`. Try again later!`);
}
} }
}; };
+1 -1
View File
@@ -77,7 +77,7 @@ module.exports = class HangmanCommand extends Command {
else return msg.say(`Too bad... It was ${word}...`); else return msg.say(`Too bad... It was ${word}...`);
} catch (err) { } catch (err) {
this.playing.delete(msg.guild.id); this.playing.delete(msg.guild.id);
return msg.say(`Oh no, an Error occurred! Try again later! \`${err.name}: ${err.message}\``); return msg.say(`Oh no, an Error occurred: \`${err.message}\`. Try again later!`);
} }
} }
}; };
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "xiaobot", "name": "xiaobot",
"version": "26.0.0", "version": "26.0.1",
"description": "Your personal server companion.", "description": "Your personal server companion.",
"main": "Shard.js", "main": "Shard.js",
"scripts": { "scripts": {