grand commit que tutur attend ( marche pas le raidmode en dev)

sinon il y a pleins de truc comme les anti raid , des coorectif ect
This commit is contained in:
VALOU3336
2024-04-22 18:30:33 +02:00
parent d8912855ff
commit 9bd39c69ca
178 changed files with 9241 additions and 480 deletions
+60
View File
@@ -0,0 +1,60 @@
const { EmbedBuilder, 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) {
if (!oldMember.premiumSince && newMember.premiumSince) {
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [newMember.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
const boostlogChannelId = data[newMember.guild.id]?.boostlog;
if (boostlogChannelId) {
const boostlogChannel = newMember.guild.channels.cache.get(boostlogChannelId);
if (boostlogChannel) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Nouveau booster')
.setDescription(`${newMember.user.tag} a commencé à booster le serveur!`)
.setTimestamp();
boostlogChannel.send({ embeds: [embed] });
}
}
}
console.log(newMember.premiumSince)
if (oldMember.premiumSince && !newMember.premiumSince) {
let data = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [newMember.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : {});
});
});
const boostlogChannelId = data[newMember.guild.id]?.boostlog;
if (boostlogChannelId) {
const boostlogChannel = newMember.guild.channels.cache.get(boostlogChannelId);
if (boostlogChannel) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Booster arrêté')
.setDescription(`${newMember.user.tag} a arrêté de booster le serveur.`)
.setTimestamp();
boostlogChannel.send({ embeds: [embed] });
}
}
}
},
};
+27
View File
@@ -0,0 +1,27 @@
const { EmbedBuilder, Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.ChannelCreate,
execute(channel) {
db.get('SELECT value FROM gestion WHERE id = ?', [channel.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
return;
}
const data = row ? JSON.parse(row.value) : {};
const logChannelId = data[channel.guild.id]?.channelog;
if (logChannelId) {
const logChannel = channel.guild.channels.cache.get(logChannelId);
if (logChannel) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setDescription(`Un nouveau salon a été créé : ${channel.name}`)
.setTimestamp();
logChannel.send({ embeds: [embed] });
}
}
});
},
};
+27
View File
@@ -0,0 +1,27 @@
const { EmbedBuilder, Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.ChannelDelete,
execute(channel) {
db.get('SELECT value FROM gestion WHERE id = ?', [channel.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
return;
}
const data = row ? JSON.parse(row.value) : {};
const logChannelId = data[channel.guild.id]?.channelog;
if (logChannelId) {
const logChannel = channel.guild.channels.cache.get(logChannelId);
if (logChannel) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setDescription(`Le salon ${channel.name} a été supprimé.`)
.setTimestamp();
logChannel.send({ embeds: [embed] });
}
}
});
},
};
+32
View File
@@ -0,0 +1,32 @@
const { EmbedBuilder, Events } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.ChannelUpdate,
execute(oldChannel, newChannel) {
db.get('SELECT value FROM gestion WHERE id = ?', [newChannel.client.user.id], (err, row) => {
if (err) {
console.error(err.message);
return;
}
const data = row ? JSON.parse(row.value) : {};
const logChannelId = data[newChannel.guild.id]?.channelog;
if (logChannelId) {
const logChannel = newChannel.guild.channels.cache.get(logChannelId);
if (logChannel) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Salon modifié')
.setDescription(`Le salon ${oldChannel.name} a été modifié.`)
.setTimestamp();
logChannel.send({ embeds: [embed] });
}
}
});
},
};
+73
View File
@@ -0,0 +1,73 @@
const { Events, EmbedBuilder , AuditLogEvent} = require("discord.js");
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: Events.GuildMemberUpdate,
once: false,
async execute(oldMember, newMember, client) {
if (oldMember.user.bot || newMember.user.bot) return;
const fetchedLogs = await newMember.guild.fetchAuditLogs({
limit: 1,
type: AuditLogEvent.MemberRoleUpdate,
});
const auditEntry = fetchedLogs.entries.first();
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].rolelog) return;
const logChannelId = data[newMember.guild.id].rolelog;
const logChannel = client.channels.cache.get(logChannelId);
if (!logChannel) return;
const oldRoles = oldMember.roles.cache;
const newRoles = newMember.roles.cache;
const addedRoles = newRoles.filter(role => !oldRoles.has(role.id));
const removedRoles = oldRoles.filter(role => !newRoles.has(role.id));
if (addedRoles.size > 0) {
const reason = auditEntry.reason
const embed = new EmbedBuilder()
.setColor('#00FF00')
.setAuthor({ name: newMember.user.username, iconURL: newMember.user.displayAvatarURL({ dynamic: true })})
.setDescription(`${newMember.user.username} a gagnéeee les rôles suivants : ${addedRoles.map(role => `<@&${role.id}>`).join(', ')}`)
.setTimestamp();
if (reason && auditEntry.target.id === newMember.id) {
embed.addFields({ name:' ',value: `**Raison : **\`${reason}\``});
}
try {
await logChannel.send({ embeds: [embed] });
} catch (error) {
}
}
if (removedRoles.size > 0) {
const reason = auditEntry.reason
const embed = new EmbedBuilder()
.setColor('#FF0000')
.setAuthor({ name: newMember.user.username, iconURL: newMember.user.displayAvatarURL({ dynamic: true })})
.setDescription(`${newMember.user.tag} a perdu les rôles suivants : ${removedRoles.map(role => `<@&${role.id}>`).join(', ')}`)
.setTimestamp();
if (reason && auditEntry.target.id === newMember.id) {
embed.addFields({ name:' ',value: `**Raison : **\`${reason}\``});
}
try {
await logChannel.send({ embeds: [embed] });
} catch (error) {
}
}
},
};