Package Exports
- cwk-gen
- cwk-gen/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cwk-gen) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cwk-gen - Discord Image Generator for Node.js
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
npm install cwk-gen
Note: canvas
and sharp
are peer dependencies that need to be installed separately.
Quick Start
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
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
generateRankCard({
username: "string", // Required
avatarURL: "string", // Required
level: number, // Required
xp: number, // Required
requiredXp: number, // Required
rank: number, // Required
// ...and more options
});
Profile Cards
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
generateServerBanner({
serverName: "string", // Required
memberCount: number, // Required
// ...and more options
});
Examples
Advanced Rank Card with Custom Font
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
Images example
Click here to view the example images
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
License
Distributed under the MIT License. See LICENSE
for more information.