dont_uwu_discordBot/Bot.js

58 lines
2.0 KiB
JavaScript
Raw Normal View History

2023-11-06 23:07:53 +01:00
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.includes("UwU") || message.content.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);