Files
bot-discord-coins/events/ready.js
T
2024-06-21 08:20:25 +02:00

116 lines
4.7 KiB
JavaScript

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.toLocaleString('fr-FR')} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0).toLocaleString('fr-FR')} utilisateurs\n`.green);
loggT(`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs\n`);
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, guildName, userId, userName) VALUES (?, ?, ?, ?)`, [guild.id, guild.name, member.id, member.name]);
});
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);
});
},
};