@elara-services/leveling
Version:
A package for XP/Leveling on Discord.
45 lines (44 loc) • 1.47 kB
JavaScript
;
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;