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

49 lines
1.8 KiB
JavaScript

const { ChannelType, Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.GuildMemberRemove,
async execute(member) {
const guildId = member.guild.id;
const botId = member.client.user.id;
function replacePlaceholders(message, member) {
return message
.replace('{MemberMention}', member.toString())
.replace('{MemberName}', member.user.username)
.replace('{MemberDisplayName}', member.displayName)
.replace('{MemberJoinedAt}', member.joinedAt.toLocaleDateString())
.replace('{MemberID}', member.id)
.replace('{MemberPic}', member.user.displayAvatarURL({ dynamic: true }))
.replace('{MemberCreatedAt}', member.user.createdAt.toLocaleDateString())
.replace('{ServerMembersCount}', member.guild.memberCount)
.replace('{ServerName}', member.guild.name);
}
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
data = data[guildId]?.leave || {};
try {
if (data.salon && data.message) {
const channel = member.guild.channels.cache.get(data.salon);
if (channel && channel.type === ChannelType.GuildText) {
const formattedMessage = replacePlaceholders(data.message, member);
await channel.send(formattedMessage);
}
}
} catch (err) {
}
},
};