mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-06 06:10:49 +02:00
Bug fixes and basic improvements
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 189 KiB |
@@ -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?',
|
||||
|
||||
@@ -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!`);
|
||||
}
|
||||
|
||||
@@ -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.');
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.',
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "xiaobot",
|
||||
"version": "56.5.0",
|
||||
"version": "56.5.1",
|
||||
"description": "Your personal server companion.",
|
||||
"main": "XiaoBot.js",
|
||||
"scripts": {
|
||||
|
||||
+4
-4
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user