const { Client, GatewayIntentBits, AttachmentBuilder } = require('discord.js');
const { token } = require('./config.json');
const { createCanvas, loadImage } = require('canvas');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent // Assurez-vous d'avoir cet intent pour accéder au contenu du message
    ]
});

client.once('ready', () => {
    console.log('Ready!');
});

client.on('messageCreate', async message => {
    // Ignore les messages envoyés par le bot
    if (message.author.bot) return;

    // Vérifie si le message contient "UwU" ou "uwu"
        if (message.content.toLowerCase().includes('uwu')) {
        const user = message.author;
        const avatarUrl = user.displayAvatarURL({extension: 'png', size: 1024});

        const canvas = createCanvas(1024, 1024);
        const ctx = canvas.getContext('2d');

        // Charger l'image du buste
        const bust = await loadImage('./DONTUWU.png');
        ctx.drawImage(bust, 0, 0, canvas.width, canvas.height);

        // Coordonnées et taille pour l'avatar
        const avatarX = 312; // Remplacer par la position X réelle
        const avatarY = 305; // Remplacer par la position Y réelle
        const avatarSize = 350; // Remplacer par la taille désirée de l'avatar

        // Charger l'avatar
        const avatar = await loadImage(avatarUrl);

        // Dessiner un cercle où l'avatar sera affiché
        ctx.beginPath();
        ctx.arc(avatarX + avatarSize / 2, avatarY + avatarSize / 2, avatarSize / 2, 0, Math.PI * 2, true);
        ctx.closePath();
        ctx.clip();

        // Dessiner l'avatar dans le cercle
        ctx.drawImage(avatar, avatarX, avatarY, avatarSize, avatarSize);

        const attachment = new AttachmentBuilder(canvas.toBuffer(), {name: 'profil-buste.png'});

        // Envoyer l'image en réponse
        await message.reply({content:'Hop prison',files: [attachment]});
    }
});

client.login(token);
