62 lines
2.2 KiB
JavaScript
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]});
|
|
|
|
|
|
}
|
|
}
|