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
+36
View File
@@ -0,0 +1,36 @@
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
const { Events } = require("discord.js");
module.exports = {
name: Events.MessageReactionAdd,
async execute(reaction, user, client) {
if (user.bot) return;
const messageId = reaction.message.id;
const emoji = reaction.emoji.toString();
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) : {});
});
});
const roleDataArray = data[reaction.message.guild.id]?.rolereact?.[messageId];
if (!Array.isArray(roleDataArray)) {
return;
}
const roleData = roleDataArray.find(r => r.emoji === emoji);
if (!roleData) return;
const role = reaction.message.guild.roles.cache.get(roleData.roleId);
if (!role) return;
const member = reaction.message.guild.members.cache.get(user.id);
if (!member) return;
await member.roles.add(role);
},
};
+27
View File
@@ -0,0 +1,27 @@
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
const { Events } = require("discord.js");
module.exports = {
name: Events.MessageCreate,
async execute(message) {
if (message.author.bot) return;
db.get('SELECT value FROM gestion WHERE id = ?', [message.client.user.id], async (err, row) => {
if (err) {
console.error(err.message);
return;
}
const data = row ? JSON.parse(row.value) : {};
const guildData = data[message.guild.id];
if (guildData && guildData.autoreact && guildData.autoreact[message.channel.id]) {
const emojis = guildData.autoreact[message.channel.id];
try {
await Promise.all(emojis.map(emoji => message.react(emoji)));
} catch (error) {
}
}
});
},
};
+31
View File
@@ -0,0 +1,31 @@
const {Events } = require("discord.js")
module.exports = {
name: Events.InteractionCreate,
async execute(interaction, client) {
const botId = client.user.id;
const customId = interaction.customId;
if (customId == undefined || customId === null) return;
if (!customId.startsWith('rolebuttons_')) return;
const roleId = customId.split('_')[1];
const role = interaction.guild.roles.cache.get(roleId);
if (!role) {
return;
}
const member = interaction.member;
if (!member) {
return;
}
if (member.roles.cache.has(role.id)) {
await member.roles.remove(role);
await interaction.reply({ content: `Le rôle ${role.name} a été retiré.`, ephemeral: true });
} else {
await member.roles.add(role);
await interaction.reply({ content: `Le rôle ${role.name} a été ajouté.`, ephemeral: true });
}
},
};
+37
View File
@@ -0,0 +1,37 @@
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
const { Events } = require("discord.js");
module.exports = {
name: Events.MessageReactionRemove,
async execute(reaction, user, client) {
if (user.bot) return;
const messageId = reaction.message.id;
const emoji = reaction.emoji.toString();
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) : {});
});
});
const roleDataArray = data[reaction.message.guild.id]?.rolereact?.[messageId];
if (!Array.isArray(roleDataArray)) {
return;
}
const roleData = roleDataArray.find(r => r.emoji === emoji);
if (!roleData) return;
const role = reaction.message.guild.roles.cache.get(roleData.roleId);
if (!role) return;
const member = reaction.message.guild.members.cache.get(user.id);
if (!member) return;
await member.roles.remove(role);
},
};