UNPKG

discord-arts

Version:

Customized cards with Discord style

157 lines (124 loc) 5.04 kB
<div align='center'> <img src='https://i.imgur.com/VBVAWrM.png' alt='Discord-Arts Banner' /> <p align='center'> <a href='https://www.npmjs.com/package/discord-arts'> <img src='https://img.shields.io/npm/v/discord-arts?label=version&style=for-the-badge' alt='version' /> <img src='https://img.shields.io/bundlephobia/min/discord-arts?label=size&style=for-the-badge' alt='size' /> <img src='https://img.shields.io/npm/dt/discord-arts?style=for-the-badge' alt='downloads' /> </a> </p> </div> ## 📦 Installation ```bash npm i discord-arts@latest ``` ## ✨ Features - 🚀 Fast generation! - 🎨 Simple and beautiful design - 🎖️ Easy to use - 💎 Beginner friendly - ❌ Discord.js not required ## 📌 What's New - 🖼️ Avatar decorations/frames - 🎴 Automatic profile theme colors - 🔮 Booster badges are back - 🛡️ Automod and LegacyUsername badges ## 🖼️ Cards ### 🪄 Profile(userId, imgOptions?) Generate a profile image card for a user or bot, including badges and custom options. ![Default Profile Image](https://i.imgur.com/TWf8v1G.png) **Returns:** Promise<Buffer> #### imgOptions | Option | Type | Description | |--------|------|-------------| | customUsername | string | Customize the username | | customTag | string | Text below the user | | customSubtitle | string | Text below the custom tag | | customBadges | string[] | Your own png badges (path and URL) (46x46) | | customBackground | string | Change the background to any image (path and URL) (885x303) | | customFont | string | Change the font of the text (path) ["./fonts/font.ttf"] | | overwriteBadges | boolean | Merge your badges with the discord defaults | | badgesFrame | boolean | Creates a small frame behind the badges | | removeBadges | boolean | Removes badges, whether custom or from discord | | removeBorder | boolean | Removes the image border, custom and normal | | usernameColor | string | Username HEX color | | tagColor | string | Tag HEX color | | borderColor | string \| string[] | Border HEX color, can be gradient if 2 colors are used | | borderAllign | string | Gradient alignment if 2 colors are used | | disableProfileTheme | boolean | Disable the discord profile theme colors | | font | string | Font to use for the text: 'HELVETICA' \| 'NOTO_SANS' \| 'ROBOTO' \| 'OPEN_SANS' \| 'MONTSERRAT' | | presenceStatus | string | User status to be displayed below the avatar | | squareAvatar | boolean | Change avatar shape to a square | | removeAvatarFrame | boolean | Remove the discord avatar frame/decoration (if any) | | rankData | object | Rank data options (see below) | | moreBackgroundBlur | boolean | Triples blur of background image | | backgroundBrightness | number | Set brightness of background from 1-100% | | customDate | Date \| string | Custom date or text to use instead of when user joined Discord | | localDateType | string | Local format for the date, e.g. 'en' \| 'es' etc. | #### rankData Options | Option | Type | Description | |--------|------|-------------| | currentXp | number | Current user XP | | requiredXp | number | XP required to level up | | level | number | Current user level | | rank | number | Position on the leaderboard | | barColor | string | HEX XP bar color | | levelColor | string | HEX color of LVL text | | autoColorRank | boolean | Whether to color ranks as medal colors for 1st, 2nd, 3rd | ## 📃 Code Example (Discord.js v14) ```javascript const { AttachmentBuilder } = require('discord.js'); const { Profile } = require('discord-arts'); await interaction.deferReply(); const user = interaction.options.getUser('user-option'); const buffer = await Profile(user.id, { customTag: 'Admin', font: 'ROBOTO', squareAvatar: true, // ... other imgOptions }); interaction.followUp({ files: [buffer] }); ``` ## Example Results ### Rank Card ![Rank Card Example](https://i.imgur.com/Rd6ScN1.png) ```javascript Profile('UserID', { customBadges: ['./skull.png', './rocket.png', './crown.png'], presenceStatus: 'phone', badgesFrame: true, customDate: 'AWESOME!', moreBackgroundBlur: true, backgroundBrightness: 100, rankData: { currentXp: 2100, requiredXp: 3000, rank: 1, level: 20, barColor: '#fcdce1', levelColor: '#ada8c6', autoColorRank: true } }); ``` ### Custom User Card ![Custom User Card Example](https://i.imgur.com/8wB4v2L.png) ```javascript Profile('UserID', { borderColor: ['#0000ff', '#00fe5a'], presenceStatus: 'idle', removeAvatarFrame: false }); ``` ### Custom Bot Card ![Custom Bot Card Example](https://i.imgur.com/ldKbKvv.png) ```javascript Profile('UserID', { customBackground: 'https://i.imgur.com/LWcWzlc.png', borderColor: '#ec8686', presenceStatus: 'online', badgesFrame: true }); ``` ## ⭐ Support Join our [Discord Server](https://discord.gg/csedxqGQKP) for support and community discussions.