diff --git a/assets/images/glitch.png b/assets/images/glitch.png deleted file mode 100644 index 4b089f75..00000000 Binary files a/assets/images/glitch.png and /dev/null differ diff --git a/commands/games/wizard-convention.js b/commands/games/wizard-convention.js index 723905bf..fa5fe591 100644 --- a/commands/games/wizard-convention.js +++ b/commands/games/wizard-convention.js @@ -8,6 +8,7 @@ module.exports = class WizardConventionCommand extends Command { constructor(client) { super(client, { name: 'wizard-convention', + aliases: ['wiz-convention'], group: 'games', memberName: 'wizard-convention', description: 'Who is the Dragon? Who is the healer? Who is the mind reader? Will the Dragon eat them all?', diff --git a/commands/image-edit/glitch.js b/commands/image-edit/glitch.js index e8ab35f1..afe0e8af 100644 --- a/commands/image-edit/glitch.js +++ b/commands/image-edit/glitch.js @@ -1,7 +1,7 @@ const { Command } = require('discord.js-commando'); const { createCanvas, loadImage } = require('canvas'); const snekfetch = require('snekfetch'); -const path = require('path'); +const { distort } = require('../../util/Canvas'); module.exports = class GlitchCommand extends Command { constructor(client) { @@ -28,14 +28,13 @@ module.exports = class GlitchCommand extends Command { async run(msg, { image }) { try { - const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'glitch.png')); const { body } = await snekfetch.get(image); const data = await loadImage(body); const canvas = createCanvas(data.width, data.height); const ctx = canvas.getContext('2d'); ctx.drawImage(data, 0, 0); - ctx.drawImage(base, 0, 0, data.width, data.height); - return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'glitch.png' }] }); + distort(ctx, 20, 0, 0, data.width, data.height, 5); + return msg.say({ files: [{ attachment: canvas.toBuffer(), name: 'distort.png' }] }); } catch (err) { return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); } diff --git a/commands/other/prune.js b/commands/other/prune.js index 0a1d41a4..79957e84 100644 --- a/commands/other/prune.js +++ b/commands/other/prune.js @@ -31,8 +31,7 @@ module.exports = class PruneCommand extends Command { async run(msg, { count }) { try { const messages = await msg.channel.messages.fetch({ limit: count + 1 }); - const msgs = await msg.channel.bulkDelete(messages, true); - if (!msgs.size) return msg.reply('There are no messages younger than two weeks that can be deleted.'); + await msg.channel.bulkDelete(messages, true); return null; } catch (err) { return msg.reply('There are no messages younger than two weeks that can be deleted.'); diff --git a/commands/search/stocks.js b/commands/search/stocks.js index ef67a290..fe373109 100644 --- a/commands/search/stocks.js +++ b/commands/search/stocks.js @@ -35,7 +35,7 @@ module.exports = class StocksCommand extends Command { if (body['Error Message']) return msg.say('Could not find any results.'); const data = Object.values(body['Time Series (1min)'])[0]; const embed = new MessageEmbed() - .setTitle(`Stocks for Symbol ${symbol.toUpperCase()}`) + .setTitle(`Stocks for ${symbol.toUpperCase()}`) .setColor(0x9797FF) .addField('❯ Open', `$${data['1. open']}`, true) diff --git a/commands/text-edit/organization-xiii-name.js b/commands/text-edit/organization-xiii-name.js index b0235ba0..8697d2da 100644 --- a/commands/text-edit/organization-xiii-name.js +++ b/commands/text-edit/organization-xiii-name.js @@ -5,7 +5,7 @@ module.exports = class OrganizationXIIINameCommand extends Command { constructor(client) { super(client, { name: 'organization-xiii-name', - aliases: ['org-xiii-name', 'xiii-name', 'nobody-name', 'organization-xiii', 'org-xiii', 'xiii'], + aliases: ['xiii-name', 'nobody-name', 'organization-xiii', 'org-xiii', 'xiii', 'organization-13-name', 'org-13'], group: 'text-edit', memberName: 'organization-xiii-name', description: 'Converts a name into the Organization XIII style.', diff --git a/package.json b/package.json index 4da80467..107e1f8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiaobot", - "version": "56.5.0", + "version": "56.5.1", "description": "Your personal server companion.", "main": "XiaoBot.js", "scripts": { diff --git a/util/Canvas.js b/util/Canvas.js index cd21b086..48cd8091 100644 --- a/util/Canvas.js +++ b/util/Canvas.js @@ -58,16 +58,16 @@ class CanvasUtil { return ctx; } - static distort(ctx, amplitude, x, y, width, height) { + static distort(ctx, amplitude, x, y, width, height, strideLevel = 4) { const data = ctx.getImageData(x, y, width, height); const temp = ctx.getImageData(x, y, width, height); - const stride = width * 4; + const stride = width * strideLevel; for (let i = 0; i < width; i++) { for (let j = 0; j < height; j++) { const xs = Math.round(amplitude * Math.sin(2 * Math.PI * 3 * (j / height))); const ys = Math.round(amplitude * Math.cos(2 * Math.PI * 3 * (i / width))); - const dest = (j * stride) + (i * 4); - const src = ((j + ys) * stride) + ((i + xs) * 4); + const dest = (j * stride) + (i * strideLevel); + const src = ((j + ys) * stride) + ((i + xs) * strideLevel); data.data[dest] = temp.data[src]; data.data[dest + 1] = temp.data[src + 1]; data.data[dest + 2] = temp.data[src + 2];