await inter.reply({content: `Loading ...`, fetchReply: true}) let color = inter.options.getString('color') || '#e52941' let name = inter.options.getString('name') if (!/^#([0-9A-F]{3}){1,2}$/i.test(color)) return await inter.editReply({content: `You should specify vaild background **Hex** color .`}) let copyrights = await loadImage('/home/runner/Banner-Creator/Assists/images/copyrights.png') let img = await loadImage('/home/runner/Banner-Creator/Assists/images/background.png') let squre = await loadImage('/home/runner/Banner-Creator/Assists/images/square.png') let corners = await loadImage('/home/runner/Banner-Creator/Assists/images/corners.png') function colors1 () { const canvas = createCanvas(600, 240) const ctx = canvas.getContext('2d') ctx.save(); ctx.fillStyle = color; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.globalCompositeOperation = "destination-in"; ctx.drawImage(squre, 0, 0); ctx.restore(); return canvas.toBuffer() } function colors2 () { const canvas = createCanvas(600, 240) const ctx = canvas.getContext('2d') ctx.save(); ctx.fillStyle = color; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.globalCompositeOperation = "destination-in"; ctx.drawImage(corners, 0, 0); ctx.restore(); return canvas.toBuffer() } let i = await loadImage(colors1()) let x = await loadImage(colors2()) function generateCanvasWithCopyRights() { const canvas = createCanvas(600, 240) const ctx = canvas.getContext('2d') ctx.drawImage(img, 0, 0) ctx.drawImage(x, 0, 0) ctx.drawImage(i, 0, 0) ctx.font = '80px redline' ctx.textAlign = 'center' ctx.fillStyle = '#0f0f0f' ctx.fillText(name, 300, 140) ctx.drawImage(copyrights, 0, 0, 1920, 1080) return canvas.toBuffer() } let row = new ActionRowBuilder() .addComponents( new ButtonBuilder() .setStyle('Success') .setLabel('Yes') .setCustomId('yes'), new ButtonBuilder() .setStyle('Danger') .setLabel('No') .setCustomId('no') ) let msg = await inter.editReply({content: '**Are you sure you want to buy this image ? (You have 10 minutes)**', files: [generateCanvasWithCopyRights()], components: [row]})