Files
gestion/events/antiraid.js/alerteping.js
T
2024-02-29 18:57:43 +01:00

43 lines
1.8 KiB
JavaScript

const {EmbedBuilder , PermissionsBitField , Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.GuildMemberUpdate,
async execute(oldMember, newMember, client) {
const guildId = newMember.guild.id
if (!oldMember.permissions.has(PermissionsBitField.Flags.Administrator) && newMember.permissions.has(PermissionsBitField.Flags.Administrator)) {
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [client.user.id], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
if (!data[newMember.guild.id]) {
data[newMember.guild.id] = {};
}
if (data[newMember.guild.id].alerte === 'on') {
const raidlogChannelId = data[newMember.guild.id].raidlog;
const raidlogChannel = newMember.guild.channels.cache.get(raidlogChannelId);
const raidMessage = data[newMember.guild.id].raidping || 'Aucun message de raid configuré.';
if (raidlogChannel) {
const embed = new EmbedBuilder()
.setTitle('Alerte de permissions')
.setDescription(`${newMember.user.tag} a reçu des permissions d'administrateur.`)
.setColor(0xff0000);
try {
await raidlogChannel.send({ content: raidMessage, embeds: [embed] });
} catch (error) {
}
}
}
}
},
};