Migrate user avatar update notifications

This commit is contained in:
2023-11-07 18:25:04 +01:00
parent 45e2f42bcf
commit c32fb9c793
3 changed files with 43 additions and 2 deletions

View File

@@ -3,6 +3,6 @@ const { Events } = require('discord.js');
module.exports = {
name: Events.MessageCreate,
async execute(message) {
console.log(`[${message.guild.name}/${message.channe.name}]${message.author.globalName}: ${message.content}`);
console.log(`[${message.guild.name}/${message.channel.name}]${message.author.globalName}: ${message.content}`);
},
};

40
events/userUpdate.js Normal file
View File

@@ -0,0 +1,40 @@
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' }
]
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}`);
}
},
};