41 lines
1.7 KiB
JavaScript
41 lines
1.7 KiB
JavaScript
const { Events, EmbedBuilder, AttachmentBuilder } = require('discord.js');
|
|
|
|
module.exports = {
|
|
name: Events.UserUpdate,
|
|
async execute(oldMember, newMember) {
|
|
|
|
let client = newMember.client;
|
|
let debugChannel = await client.channels.fetch('1171410849269809232');
|
|
|
|
let notifyList = [
|
|
{ guild: '837807020618023002', channel: '938462252720328715' }, //Rice
|
|
{ guild: '442059309581336578', channel: '828398511036563477' } //Minz
|
|
]
|
|
|
|
if(oldMember.avatarURL() !== newMember.avatarURL()) {
|
|
console.log(`[USER] ${oldMember.displayName} changed their avatar`);
|
|
const newAvatar = new AttachmentBuilder(newMember.avatarURL({ size: 1024 }), { name: 'new.webp' });
|
|
|
|
const notificationEmbed = new EmbedBuilder()
|
|
.setColor(0x0099FF)
|
|
.setTitle('Avatar changed')
|
|
.setDescription(`${newMember.displayName} changed their avatar`)
|
|
.setImage('attachment://new.webp')
|
|
.setTimestamp();
|
|
|
|
debugChannel.send({ embeds: [notificationEmbed], files: [newAvatar] });
|
|
|
|
for (const subscriber of notifyList) {
|
|
let guild = await client.guilds.fetch(subscriber['guild']);
|
|
if (guild.members.cache.has(newMember.id)) {
|
|
console.log(`[NOTIFY] Sending avatar notification for ${newMember.displayName} to ${guild.name}`);
|
|
await (await client.channels.fetch(subscriber['channel'])).send({ embeds: [notificationEmbed], files: [newAvatar] });
|
|
}
|
|
}
|
|
}
|
|
|
|
if(oldMember.globalName !== oldMember.globalName) {
|
|
console.log(`[USER] ${oldMember.displayName} changed their name to ${newMember.displayName}`);
|
|
}
|
|
},
|
|
}; |