UNPKG

@elara-services/leveling

Version:

A package for XP/Leveling on Discord.

45 lines (44 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.canvacord = void 0; const tslib_1 = require("tslib"); const canvas = tslib_1.__importStar(require("canvacord")); const utils_1 = require("../../utils"); async function canvacord(user, db, rank, memberStatus) { canvas.Font.loadDefault(); const { level, xp } = (0, utils_1.getData)(db); const ca = new canvas.RankCardBuilder() .setAvatar((0, utils_1.getUserAvatar)(user)) .setUsername(user.displayName) .setLevel(level) .setCurrentXP(xp.current) .setRank(rank) .setRequiredXP(xp.required); if (memberStatus) { ca.setStatus(memberStatus); } else { ca.configureRenderer({ status: false }); } ca.options.set("tw", { ...ca.options.get("tw"), username: `text-[${utils_1.colors.hex.white}]`, displayName: `text-[${utils_1.colors.get(db, "canvacord.username", true)}]`, percentage: `text-[${utils_1.colors.hex.white}]`, progress: { thumb: `bg-[${utils_1.colors.get(db, "canvacord.progress.thumb", true)}]`, track: "", }, }); if (db.background) { ca.setBackground(db.background); } if (user.discriminator !== "0") { ca.setDiscriminator(user.discriminator); } return { status: true, image: (await ca.build({ format: "png" })), }; } exports.canvacord = canvacord;