JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 19
  • Score
    100M100P100Q87346F
  • License MIT

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

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

npm version GitHub license GitHub 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

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

here is the 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.

  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