Files
minzbot-v2/events/userUpdate.js
2022-07-03 19:29:17 +02:00

62 lines
2.2 KiB
JavaScript

require("dotenv").config();
const fetch = require("node-fetch");
const Discord = require("discord.js");
module.exports = {
name: "userUpdate",
async execute (oldUser, newUser) {
//get guild by id
const guild = newUser.client.guilds.cache.get(process.env.GUILD_ID);
if (oldUser.username !== newUser.username) {
console.log(`${oldUser.username} changed their username to ${newUser.username}`);
}
if (oldUser.avatar !== newUser.avatar) {
console.log(`${oldUser.username} changed their avatar to ${newUser.avatar}`);
}
//check if new user banner is different from old user banner
if (newUser.banner !== oldUser.banner) {
console.log(`${oldUser.username} changed their banner`);
await newUser.fetch();
let newUserBanner = newUser.bannerURL();
//log user and new banner url
console.log(`${newUser.username} has a new banner: ${newUserBanner}`);
}
//if new avatar is null, console log and return
if (newUser.avatar === null) {
console.log(`${newUser.username} has no avatar`);
return;
}
//send the new avatar to a channel named "bot-testing"
const channel = guild.channels.cache.find(channel => channel.name === "bot-testing");
if (!channel) return;
let avatarUrl = newUser.avatarURL({dynamic : true, size: 1024});
//download avatarUrl into a buffer
const buffer = await (await fetch(avatarUrl)).buffer();
//upload buffer to discord
const attachment = new Discord.MessageAttachment(buffer, "avatar.png");
//send attachment to a channel called "bot-uploads" and save the attachment url to a variable
const upload = await channel.send({
files: [attachment]
});
console.log(newUser);
const embed = new Discord.MessageEmbed()
.setTitle("User Updated")
.setDescription(`avatar debug asfkdljnsaedlikfnwe;ljkfn`)
.setImage(upload.attachments.first().url)
.setColor("#FFFFFF");
channel.send({embeds: [embed]});
}
}