kiutils

🎑 kiutils

A powerful JavaScript/TypeScript utility library for image manipulation, Discord utilities, and more!

npm version npm downloads License

✨ Features

  • 🖼️ Image Manipulation - Convert, resize, and create thumbnails with ease
  • 🤖 Discord Utilities - Create beautiful rank cards and other Discord-related graphics
  • 📝 Code Sharing - Share code snippets via SourceBin
  • 🌸 Anime Images - Fetch waifu images with a simple API
  • 🧰 Utility Functions - Various helper functions for common tasks

📦 Installation

# Using npm
npm install kiutils

# Using yarn
yarn add kiutils

# Using pnpm
pnpm add kiutils

🚀 Quick Start

// Import the modules you need
const { Canvas, Discord, waifu, convertImage, ImageFormat } = require('kiutils');
// OR with ES modules
import { Canvas, Discord, waifu, convertImage, ImageFormat } from 'kiutils';

📚 Usage Examples

Image Conversion

import { convertImage, ImageFormat } from 'kiutils';
import * as fs from 'fs';

// Convert an image to WebP format
const convertToWebP = async () => {
const buffer = await convertImage('input.jpg', ImageFormat.WEBP, {
quality: 80,
width: 800
});

fs.writeFileSync('output.webp', buffer);
console.log('Image converted successfully!');
};

convertToWebP();

Creating Discord Rank Cards

import { Discord } from 'kiutils';
import * as fs from 'fs';

const createRankCard = async () => {
const rankCard = await new Discord().createRankCard({
username: { name: 'CoolUser#1234' },
level: { data: 15, display: true },
rank: { data: 12, display: true },
currentXP: { data: 500 },
requiredXP: { data: 1000 },
avatar: { source: 'https://i.imgur.com/example.png' },
status: { type: 'online' },
progressBar: {
bar: {
type: 'gradient',
color: ['#5865F2', '#EB459E']
}
}
});

fs.writeFileSync('rank-card.png', rankCard);
console.log('Rank card created!');
};

createRankCard();

Fetching Waifu Images

import { waifu, WaifuType } from 'kiutils';

const getWaifuImage = async () => {
const imageUrl = await waifu(WaifuType.SFW);
console.log(`Waifu image URL: ${imageUrl}`);
};

getWaifuImage();

Simple Canvas Creation

import { Canvas } from 'kiutils';
import * as fs from 'fs';

const createCanvas = async () => {
const canvas = new Canvas({
width: 800,
height: 400,
background: {
color: '#5865F2',
image: 'color'
},
fontColor: '#FFFFFF'
});

const buffer = await canvas.renderWithText('Hello World!', {
font: '40px Arial',
align: 'center'
});

fs.writeFileSync('canvas.png', buffer);
console.log('Canvas created!');
};

createCanvas();

Sharing Code on SourceBin

import { bin } from 'kiutils';

const shareCode = async () => {
const code = `
function helloWorld() {
console.log('Hello from kiutils!');
}

helloWorld();
`;

const url = await bin(code);
console.log(`Code shared at: ${url}`);
};

shareCode();

📋 API Documentation

For complete API documentation, please visit our documentation website.

🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check the issues page.

📝 License

This project is MIT licensed.

Generated using TypeDoc