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(); }, };