This commit is contained in:
lilyissillyyy
2025-09-06 18:42:24 -04:00
parent f717fddeae
commit 3603e86a0b
6 changed files with 23 additions and 15 deletions
+1 -1
View File
@@ -684,6 +684,7 @@ Total: 518
* [@discordjs/voice](https://www.npmjs.com/package/@discordjs/voice)
* [@mediapipe/face_detection](https://www.npmjs.com/package/@mediapipe/face_detection)
* [@napi-rs/canvas](https://www.npmjs.com/package/@napi-rs/canvas)
* [@skyra/gifenc](https://www.npmjs.com/package/@skyra/gifenc)
* [@snazzah/davey](https://www.npmjs.com/package/@snazzah/davey)
* [@tensorflow-models/face-detection](https://www.npmjs.com/package/@tensorflow-models/face-detection)
* [@tensorflow/tfjs-node](https://www.npmjs.com/package/@tensorflow/tfjs-node)
@@ -703,7 +704,6 @@ Total: 518
* [emoji-regex](https://www.npmjs.com/package/emoji-regex)
* [fen-validator](https://www.npmjs.com/package/fen-validator)
* [font-finder](https://www.npmjs.com/package/font-finder)
* [gifencoder](https://www.npmjs.com/package/gifencoder)
* [gm](https://www.npmjs.com/package/gm)
* [html-entities](https://www.npmjs.com/package/html-entities)
* [image-to-ascii](https://www.npmjs.com/package/image-to-ascii)
+5 -3
View File
@@ -1,8 +1,9 @@
const Command = require('../../framework/Command');
const { PermissionFlagsBits } = require('discord.js');
const { createCanvas, loadImage } = require('@napi-rs/canvas');
const GIFEncoder = require('gifencoder');
const { GifEncoder } = require('@skyra/gifenc');
const { MersenneTwister19937, bool } = require('random-js');
const { buffer } = require('node:stream/consumers');
const request = require('node-superfetch');
const path = require('path');
const frameCount = 52;
@@ -55,7 +56,8 @@ module.exports = class EjectCommand extends Command {
const random = MersenneTwister19937.seed(user.id);
const imposter = bool()(random);
const text = `${user.username} was${imposter ? ' ' : ' not '}An Imposter.`;
const encoder = new GIFEncoder(320, 180);
const encoder = new GifEncoder(320, 180);
const stream = encoder.createReadStream();
const canvas = createCanvas(320, 180);
const ctx = canvas.getContext('2d');
ctx.textAlign = 'center';
@@ -97,7 +99,7 @@ module.exports = class EjectCommand extends Command {
encoder.addFrame(ctx);
}
encoder.finish();
const attachment = encoder.out.getData();
const attachment = await buffer(stream);
return msg.say({ files: [{ attachment, name: 'eject.gif' }] });
}
};
+5 -3
View File
@@ -1,8 +1,9 @@
const Command = require('../../framework/Command');
const { PermissionFlagsBits } = require('discord.js');
const { createCanvas, loadImage } = require('@napi-rs/canvas');
const GIFEncoder = require('gifencoder');
const { GifEncoder } = require('@skyra/gifenc');
const request = require('node-superfetch');
const { buffer } = require('node:stream/consumers');
const path = require('path');
const { drawImageWithTint } = require('../../util/Canvas');
const coord1 = [-25, -33, -42, -14];
@@ -44,7 +45,8 @@ module.exports = class TriggeredCommand extends Command {
const base = await loadImage(path.join(__dirname, '..', '..', 'assets', 'images', 'triggered.png'));
const { body } = await request.get(avatarURL);
const avatar = await loadImage(body);
const encoder = new GIFEncoder(base.width, base.width);
const encoder = new GifEncoder(base.width, base.width);
const stream = encoder.createReadStream();
const canvas = createCanvas(base.width, base.width);
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'white';
@@ -59,7 +61,7 @@ module.exports = class TriggeredCommand extends Command {
encoder.addFrame(ctx);
}
encoder.finish();
const attachment = encoder.out.getData();
const attachment = await buffer(stream);
return msg.say({ files: [{ attachment, name: 'triggered.gif' }] });
}
};
+5 -3
View File
@@ -1,7 +1,8 @@
const Command = require('../../framework/Command');
const { PermissionFlagsBits } = require('discord.js');
const { createCanvas, loadImage } = require('@napi-rs/canvas');
const GIFEncoder = require('gifencoder');
const { GifEncoder } = require('@skyra/gifenc');
const { buffer } = require('node:stream/consumers');
const request = require('node-superfetch');
const path = require('path');
const { centerImagePart } = require('../../util/Canvas');
@@ -32,7 +33,8 @@ module.exports = class PetCommand extends Command {
async run(msg, { image }) {
const { body } = await request.get(image);
const data = await loadImage(body);
const encoder = new GIFEncoder(112, 112);
const encoder = new GifEncoder(112, 112);
const stream = encoder.createReadStream();
const canvas = createCanvas(112, 112);
const ctx = canvas.getContext('2d');
encoder.start();
@@ -53,7 +55,7 @@ module.exports = class PetCommand extends Command {
else squish += 4;
}
encoder.finish();
const attachment = encoder.out.getData();
const attachment = await buffer(stream);
return msg.say({ files: [{ attachment, name: 'pet.gif' }] });
}
};
+5 -3
View File
@@ -1,7 +1,8 @@
const Command = require('../../framework/Command');
const { PermissionFlagsBits } = require('discord.js');
const { createCanvas, loadImage } = require('@napi-rs/canvas');
const GIFEncoder = require('gifencoder');
const { GifEncoder } = require('@skyra/gifenc');
const { buffer } = require('node:stream/consumers');
const request = require('node-superfetch');
module.exports = class ShakeCommand extends Command {
@@ -38,7 +39,8 @@ module.exports = class ShakeCommand extends Command {
const base = await loadImage(body);
const ratio = base.width / base.height;
const height = 512 / ratio;
const encoder = new GIFEncoder(512, height);
const encoder = new GifEncoder(512, height);
const stream = encoder.createReadStream();
const canvas = createCanvas(512, height);
const ctx = canvas.getContext('2d');
encoder.start();
@@ -52,7 +54,7 @@ module.exports = class ShakeCommand extends Command {
encoder.addFrame(ctx);
}
encoder.finish();
const attachment = encoder.out.getData();
const attachment = await buffer(stream);
return msg.say({ files: [{ attachment, name: 'shake.gif' }] });
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "xiao",
"version": "155.2.1",
"version": "155.2.2",
"description": "Your personal server companion.",
"main": "Xiao.js",
"scripts": {
@@ -33,6 +33,7 @@
"@discordjs/voice": "^0.19.0",
"@mediapipe/face_detection": "^0.4.1646425229",
"@napi-rs/canvas": "^0.1.78",
"@skyra/gifenc": "^1.0.1",
"@snazzah/davey": "^0.1.6",
"@tensorflow-models/face-detection": "^1.0.3",
"@tensorflow/tfjs-node": "^4.22.0",
@@ -51,7 +52,6 @@
"emoji-regex": "^10.5.0",
"fen-validator": "^2.0.1",
"font-finder": "^1.1.0",
"gifencoder": "^2.0.1",
"gm": "^1.25.1",
"html-entities": "^2.6.0",
"image-to-ascii": "^3.2.2",