UNPKG

cwk-gen

Version:

High-quality image generator for Discord bots with welcome images, rank cards, profile cards, and server banners

147 lines (114 loc) 4.28 kB
# cwk-gen - Discord Image Generator for Node.js [![npm version](https://img.shields.io/npm/v/cwk-gen.svg)](https://www.npmjs.com/package/cwk-gen) [![GitHub license](https://img.shields.io/github/license/Khanmanan/cwk-gen.svg)](https://github.com/Khanmanan/cwk-gen/blob/main/LICENSE) [![GitHub issues](https://img.shields.io/github/issues/Khanmanan/cwk-gen.svg)](https://github.com/Khanmanan/cwk-gen/issues) A high-quality image generator for Discord bots that creates welcome images, rank cards, profile cards, and server banners with extensive customization options. ## Features - 🖼️ Generate welcome images with username, avatar, and custom background - 🏆 Create rank cards with level, XP, and rank position - 📇 Design profile cards with user bio, stats, and badges - 🎉 Produce server banners with server name and member count - 🎨 Customizable fonts, colors, and backgrounds - ⭕ Automatic avatar cropping to circles - ✍️ Text wrapping and shadow effects - 📊 Progress bars for XP tracking ## Installation ```bash npm install cwk-gen ``` Note: `canvas` and `sharp` are peer dependencies that need to be installed separately. ## Quick Start ```javascript const { generateWelcomeImage } = require('cwk-gen'); async function createWelcome() { const buffer = await generateWelcomeImage({ username: "JohnDoe", avatarURL: "https://cdn.discordapp.com/avatars/123456789012345678/a_abcdefghijklmnopqrstuvwxyz123456.png", message: "Welcome to our server!", color: "#5865F2" }); // In Discord.js const attachment = new Discord.AttachmentBuilder(buffer, { name: 'welcome.png' }); channel.send({ files: [attachment] }); } ``` ## Documentation ### Welcome Images ```javascript generateWelcomeImage({ username: "string", // Required avatarURL: "string", // Required background: "string|Buffer", // Optional title: "string", // Default: "WELCOME" message: "string", // Default: "Welcome to the server!" // ...and more options }); ``` ### Rank Cards ```javascript generateRankCard({ username: "string", // Required avatarURL: "string", // Required level: number, // Required xp: number, // Required requiredXp: number, // Required rank: number, // Required // ...and more options }); ``` ### Profile Cards ```javascript generateProfileCard({ username: "string", // Required avatarURL: "string", // Required bio: "string", // Optional stats: Array<{name, value}>, // Optional badges: Array<{name, icon}>, // Optional // ...and more options }); ``` ### Server Banners ```javascript generateServerBanner({ serverName: "string", // Required memberCount: number, // Required // ...and more options }); ``` ## Examples ### Advanced Rank Card with Custom Font ```javascript const { generateRankCard, registerFonts } = require('cwk-gen'); registerFonts([ { path: './fonts/Poppins-Bold.ttf', family: 'Poppins', weight: 'bold' } ]); generateRankCard({ username: "JaneDoe", avatarURL: avatarURL, level: 15, xp: 1250, requiredXp: 2000, rank: 42, font: "Poppins", progressColor: "#FF9900" }); ``` ## Exmaples Example bot [here is the example bot](https://github.com/Khanmanan/cwk-gen-bot.git) Images example [Click here to view the example images](assets/example) Make sure to star 🌟 the repo also join our server for project and development ❤️. ## Contributing Contributions are welcome! Please open an issue or submit a pull request. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. Open a pull request ## License Distributed under the MIT License. See `LICENSE` for more information. ## Contact <div align="center"> <a href="https://discord.gg/QukxRRFhzQ"><img src="https://invidget.switchblade.xyz/QukxRRFhzQ"/></a> <br><br> Project Link: [https://github.com/Khanmanan/cwk-gen](https://github.com/Khanmanan/cwk-gen)