mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 23:36:35 +02:00
9bd39c69ca
sinon il y a pleins de truc comme les anti raid , des coorectif ect
49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
const sqlite3 = require('sqlite3').verbose();
|
|
const { Events } = require('discord.js');
|
|
|
|
module.exports = {
|
|
name: Events.ClientReady,
|
|
async execute(client) {
|
|
const db = new sqlite3.Database('myDatabase.db', (err) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
console.log('Connected to the SQLite database.');
|
|
});
|
|
|
|
async function recordMembersWithRole(guild) {
|
|
if (!guild) return;
|
|
|
|
|
|
const roles = guild.roles.cache;
|
|
|
|
let data = {
|
|
role: {}
|
|
};
|
|
roles.forEach(role => {
|
|
const membersWithRole = role.members.map(member => member.id);
|
|
data.role[role.id] = membersWithRole;
|
|
});
|
|
|
|
db.run('INSERT OR REPLACE INTO antiraid (guild, value) VALUES (?, ?)', [guild.id, JSON.stringify(data)], (err) => {
|
|
if (err) {
|
|
console.error(err.message);
|
|
}
|
|
});
|
|
}
|
|
|
|
function scheduleRoleRecording() {
|
|
client.guilds.cache.forEach(guild => {
|
|
recordMembersWithRole(guild);
|
|
});
|
|
|
|
setInterval(() => {
|
|
client.guilds.cache.forEach(guild => {
|
|
recordMembersWithRole(guild);
|
|
});
|
|
}, 2 * 60 * 60 * 1000);
|
|
}
|
|
|
|
scheduleRoleRecording();
|
|
},
|
|
}; |