Migrate user avatar update notifications
This commit is contained in:
@@ -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
40
events/userUpdate.js
Normal 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}`);
|
||||
}
|
||||
},
|
||||
};
|
||||
3
main.js
3
main.js
@@ -3,7 +3,7 @@ const path = require('node:path');
|
||||
const { Client, Collection, Events, GatewayIntentBits } = require('discord.js');
|
||||
const { token } = require('./config.json');
|
||||
|
||||
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMessages] });
|
||||
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildPresences] });
|
||||
|
||||
client.commands = new Collection();
|
||||
const foldersPath = path.join(__dirname, 'commands');
|
||||
@@ -32,6 +32,7 @@ for (const file of eventFiles) {
|
||||
if (event.once) {
|
||||
client.once(event.name, (...args) => event.execute(...args));
|
||||
} else {
|
||||
console.log(`Registered event ${event.name} ${file}`);
|
||||
client.on(event.name, (...args) => event.execute(...args));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user