Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { EmbedBuilder, Events } = require('discord.js');
- const theme = require('../../../embedConfig.json');
- const Audit_Log = require('../../Schemas.js/auditlog');
- const { perm } = require('../../../functions');
- module.exports = async (client) => {
- client.on(Events.GuildMemberUpdate, async (oldMember, newMember) => {
- if (!perm(oldMember)) return;
- const auditEmbed = new EmbedBuilder()
- .setColor(theme.theme)
- .setTimestamp()
- .setFooter({ text: 'Nexus Audit Log System' });
- const data = await Audit_Log.findOne({ Guild: oldMember.guild.id }).catch(console.error);
- if (!data || !data.Channel) return; // Ensure there is a channel ID
- const auditChannel = client.channels.cache.get(data.Channel);
- if (!auditChannel) return; // Ensure the channel exists
- const changes = [];
- if (oldMember.nickname !== newMember.nickname) {
- changes.push(`Nickname: \`${oldMember.nickname || 'None'}\` → \`${newMember.nickname || 'None'}\``);
- }
- if (!oldMember.roles.cache.equals(newMember.roles.cache)) {
- const oldRoles = oldMember.roles.cache.map(role => role.name).join(', ');
- const newRoles = newMember.roles.cache.map(role => role.name).join(', ');
- changes.push(`Roles: \`${oldRoles}\` → \`${newRoles}\``);
- }
- if (changes.length === 0) return; // If no changes, exit
- auditEmbed
- .setTitle('Member Updated')
- .addFields({ name: 'Changes:', value: changes.join('\n') });
- await auditChannel.send({ embeds: [auditEmbed] }).catch(err => {
- console.error('Failed to send audit log message:', err);
- });
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement