mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 15:07:42 +02:00
kyra ily
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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' }] });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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' }] });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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' }] });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user