mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 15:07:26 +02:00
43 lines
1.8 KiB
JavaScript
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) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
}; |