Actually I Was Trying to Make a Rank Card For My Discord Bot But It Looked Incomplete,
const { Canvas } = require('canvas-constructor');
const { Attachment } = require('discord.js');
const { resolve, join } = require('path');
const fetch = require('node-fetch');
const imageUrlRegex = /\?size=2048$/g;
const placeholder = new Map();
----Getting Points and stuff----
try {
const result = await fetch(member.user.displayAvatarURL.replace(imageUrlRegex, '?size=128'));
if (!result.ok) throw new Error('Failed to get the avatar!');
const avatar = await result.buffer();
const name = member.displayName.length > 30 ? member.displayName.substring(0, 17) + '...'
: member.displayName;
return new Canvas(400, 180)
.setColor('#7289DA')
.addRect(84, 0, 316, 180)
.setColor("#2C2F33")
.addRect(0, 0, 84, 180)
.addRect(169, 26, 231, 46)
.addRect(224, 108, 176, 46)
.setShadowColor('rgba(22, 22, 22, 1)')
.setShadowOffsetY(5)
.setShadowBlur(10)
.addCircle(84, 90, 62)
.addCircularImage(avatar, 85, 90, 64)
.save()
.createBeveledClip(20, 138, 128, 32, 5)
.setColor('#23272A')
.fill()
.restore()
.setTextAlign('center')
.setTextFont('18pt Klavika Regular')
.setColor('#FFFFFF')
.addText(name, 285, 54)
.addText(`Level: ${level.toLocaleString()}`, 84, 159)
.setTextAlign('left')
.addText(`Score: ${points.toLocaleString()}`, 241, 136)
.toBuffer();
} catch (error) {
await message.channel.send(`An error occurred: **${error.message}**`);
}
}
I Want to add a Progress Bar as well, Anyway with canvas-constructor or with canvas i can add? I did see Other Stack OverFlow Questions But it Didnt Help Like The One Here is Useless