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
Markdown
# cwk-gen - Discord Image Generator for Node.js
[](https://www.npmjs.com/package/cwk-gen)
[](https://github.com/Khanmanan/cwk-gen/blob/main/LICENSE)
[](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)