const { Events, ActivityType } = require("discord.js"); const db = require("../fonctions/database.js"); var loggT = require("../loggerT.js"); var loggE = require("../loggerE.js"); module.exports = { name: Events.ClientReady, async execute(client) { console.log( `[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs\n` .green, ); loggT(`\n\n`); loggT( `[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs`, ); console.log("setPresence : ..."); client.user.setPresence({ activities: [ { name: "/azelie", type: ActivityType.Streaming, url: "https://twitch.tv/tuturp33", }, ], status: "online", }); console.log("setPresence : OK"); client.guilds.cache.forEach((guild) => { console.log("BD update : ..."); db.run( `INSERT OR IGNORE INTO config (guildId, name, value) VALUES (?, ?, ?)`, [guild.id, "prefix", "&"], ); guild.members.cache.forEach((member) => { db.run(`INSERT OR IGNORE INTO users (guildId, userId) VALUES (?, ?)`, [ guild.id, member.id, ]); }); console.log("BD update : OK"); }); setInterval( async () => { console.log("Recompense vocal : ..."); client.guilds.cache.forEach((guild) => { guild.members.cache .filter((member) => member.voice.channel) .forEach((member) => { if (member.voice.selfMute == true) { db.run( "UPDATE users SET pocket = pocket + 50 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); db.run( "UPDATE users SET xp = xp + 5 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); } else { db.run( "UPDATE users SET pocket = pocket + 100 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); db.run( "UPDATE users SET xp = xp + 10 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); } }); guild.members.cache .filter((member) => member.voice.channel && member.voice.streaming) .forEach((member) => { db.run( "UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); db.run( "UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); }); guild.members.cache .filter((member) => member.voice.channel && member.voice.selfVideo) .forEach((member) => { db.run( "UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); db.run( "UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?", [guild.id, member.id], ); }); }); console.log("Recompense vocal : OK"); }, 15 * 60 * 1000, ); setInterval( async () => { console.log("Bâtiment : ..."); const team = await new Promise((resolve, reject) => { db.get(`SELECT * FROM teams`, (err, row) => { if (err) reject(err); resolve(row); }); }); if (team.location == 0) return; db.run(`UPDATE teams SET bank = bank + ?`, [team.location]); console.log("Bâtiment : OK"); }, 1 * 60 * 1000, ); //AntiCrash process.on("unhandledRejection", (error) => { if (error.code == "10064") return; if (error.code == "10008") return; console.log(" [antiCrash] :: Unhandled Rejection/Catch".red); console.log(`${error}`.grey); loggE(error); }); process.on("uncaughtException", (error, origin) => { if (error.code == "10064") return; if (error.code == "10008") return; console.log(" [antiCrash] :: Uncaught Exception/Catch".red); console.log(`${error}`.grey); console.log("Information supplémentaire:", origin); loggE(error); }); process.on("uncaughtExceptionMonitor", (error, origin) => { if (error.code == "10064") return; if (error.code == "10008") return; console.log(" [antiCrash] :: Uncaught Exception Monitor/Catch".red); console.log(`${error}`.grey); console.log("Information supplémentaire:", origin); loggE(error); }); process.on("beforeExit", (code) => { if (error.code == "10064") return; if (error.code == "10008") return; console.log(" [antiCrash] :: Before Exit".red); console.log("Code de sortie:", code); }); process.on("exit", (code) => { if (error.code == "10064") return; if (error.code == "10008") return; console.log(" [antiCrash] :: Exit".red); console.log("Code de sortie:", code); }); }, };