const { SlashCommandBuilder, PermissionFlagsBits } = require('discord.js'); const Canvas = require('canvas'); module.exports = { data: new SlashCommandBuilder() .setName('affiche_match') .setDescription('Annonce un match de la team') .setDMPermission(false) .setDefaultMemberPermissions(PermissionFlagsBits.ManageMessages) .addAttachmentOption(opt => opt.setName(`logo`).setDescription(`Logo de la team adverse`).setRequired(true)), async run(interaction) { await interaction.deferReply({ ephemeral: true }); const image = interaction.options.getAttachment(`logo`); const canvas = Canvas.createCanvas(1080, 1920); const ctx = canvas.getContext("2d"); const background = await Canvas.loadImage("./affiche-match.png"); ctx.drawImage(background, 0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.arc(512, 166, 119, 0, Math.PI * 2); ctx.closePath(); ctx.clip(); const logo = await Canvas.loadImage(`${image.attachment}`) ctx.drawImage(logo, 393, 47, 238, 238) interaction.editReply({ content: ``, files: [{ attachment: await canvas.toBuffer(), name: "match.png" }], ephemeral: true }); }, };