mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-22 10:09:18 +02:00
Merge branch 'main' of https://github.com/arthur-pbty/bot-discord-coins
This commit is contained in:
@@ -6,7 +6,7 @@ module.exports = {
|
||||
async execute(guild) {
|
||||
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]);
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, guildName, userId, userName) VALUES (?, ?)`, [guild.id, guild.name, member.id, member.name]);
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -4,6 +4,6 @@ const db = require('../fonctions/database.js');
|
||||
module.exports = {
|
||||
name: Events.GuildMemberAdd,
|
||||
async execute(member) {
|
||||
db.run(`INSERT INTO users (guildId, userId) VALUES (?, ?)`, [member.guild.id, member.id]);
|
||||
db.run(`INSERT INTO users (guildId, guildName, userId, userName) VALUES (?, ?)`, [member.guild.id, member.guild.name, member.id, member.name]);
|
||||
},
|
||||
};
|
||||
+25
-1
@@ -1,11 +1,33 @@
|
||||
const { Message, Events } = require("discord.js");
|
||||
const db = require('../fonctions/database.js');
|
||||
//const getPermissionLevel = require("../fonctions/getPermissionLevel");
|
||||
var loggT = require('../loggerT.js');
|
||||
var loggE = require('../loggerE.js');
|
||||
const getPermissionLevel = require("../fonctions/getPermissionLevel.js");
|
||||
|
||||
module.exports = {
|
||||
name: Events.MessageCreate,
|
||||
async execute(message, client) {
|
||||
if (message.author.bot) return;
|
||||
if (message.content == "<@" + client.user.id + ">") {
|
||||
const command = client.commands.get('help');
|
||||
try {
|
||||
command.execute(message, null, client);
|
||||
console.log(`[&] ${message.guild.name} | ${message.author.tag} | ${command.name}`.blue)
|
||||
loggT(`[&] ${message.guild.name} | ${message.author.tag} | ${command.name}`)
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
loggerT(error)
|
||||
message.reply("Erreur lors de l'exécution de la commande");
|
||||
}
|
||||
}
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
if (user.blacklist == true) { return }
|
||||
|
||||
const prefix = db.get(`SELECT value FROM config WHERE guildId = ? AND name = ?`, [message.guild.id, 'prefix'])?.value || '&';
|
||||
if (message.content.startsWith(prefix)) {
|
||||
@@ -22,9 +44,11 @@ module.exports = {
|
||||
|
||||
try {
|
||||
command.execute(message, args, client);
|
||||
console.log(`[&] ${message.guild.name} | ${message.author.tag} | ${command.name}`.blue)
|
||||
console.log(`[${prefix}}] ${message.guild.name} | ${message.author.tag} | ${command.name}`.blue)
|
||||
loggT(`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`)
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
loggE(error)
|
||||
message.reply("Erreur lors de l'exécution de la commande");
|
||||
}
|
||||
} else if (message.content === `<@!${client.user.id}>` || message.content === `<@${client.user.id}>`) {
|
||||
|
||||
@@ -8,6 +8,14 @@ module.exports = {
|
||||
async execute(message, client) {
|
||||
if (message.channel.type === "DM") return;
|
||||
if (message.author.bot) return;
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
if (user.blacklist == true) { return }
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
/////////////////////////// xp systeme ///////////////////////////
|
||||
@@ -34,22 +42,15 @@ module.exports = {
|
||||
/////////////////////////// lvl systeme //////////////////////////
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
|
||||
if (user.xp >= 100 * user.lvl) {
|
||||
db.run(
|
||||
`UPDATE users SET xp = xp - ?, lvl = lvl + 1, pocket = pocket + ?, reputation = reputation + ? WHERE guildId = ? AND userId = ?`,
|
||||
[100 * user.lvl, (Math.ceil((user.lvl + 1) / 5)) * 500, Math.ceil((user.lvl + 1) / 5), message.guild.id, message.author.id]
|
||||
[100 * user.lvl, ((user.lvl + 1) * 250), Math.ceil((user.lvl + 1) / 5), message.guild.id, message.author.id]
|
||||
);
|
||||
|
||||
const embedlvl = new EmbedBuilder()
|
||||
.setTitle("Nouveau niveau !")
|
||||
.setDescription(`Bravo ${message.author}, tu es passé niveau ${user.lvl + 1} sur le serveur \`${message.guild.name}\` !\nTu as reçu \`${(Math.ceil((user.lvl + 1) / 5)) * 500}\` 🪙 et \`${Math.ceil((user.lvl + 1) / 5)}\` 🔺 !`)
|
||||
.setDescription(`Bravo ${message.author}, tu es passé niveau ${user.lvl + 1} sur le serveur \`${message.guild.name}\` !\nTu as reçu \`${(user.lvl + 1) * 250}\` 🪙 et \`${Math.ceil((user.lvl + 1) / 5)}\` 🔺 !`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id));
|
||||
|
||||
message.author.send({ embeds: [embedlvl] });
|
||||
|
||||
+25
-5
@@ -1,10 +1,13 @@
|
||||
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`)
|
||||
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
@@ -19,7 +22,7 @@ module.exports = {
|
||||
client.guilds.cache.forEach(guild => {
|
||||
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]);
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, guildName, userId, userName) VALUES (?, ?, ?, ?)`, [guild.id, guild.name, member.id, member.name]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -29,31 +32,44 @@ module.exports = {
|
||||
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 + 25 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 + 50 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 + 100 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 + 100 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run('UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
});
|
||||
});
|
||||
}, 15 * 60 * 1000);
|
||||
|
||||
setInterval(async () => {
|
||||
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 + ? WHERE guildId = ? AND userId = ?`, [team.location, message.guild.id, message.author.id]);
|
||||
}, 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);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
process.on("uncaughtException", (error, origin) => {
|
||||
@@ -62,6 +78,7 @@ module.exports = {
|
||||
console.log(' [antiCrash] :: Uncaught Exception/Catch'.red);
|
||||
console.log(error);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
process.on('uncaughtExceptionMonitor', (error, origin) => {
|
||||
@@ -70,6 +87,7 @@ module.exports = {
|
||||
console.log(' [antiCrash] :: Uncaught Exception Monitor/Catch'.red);
|
||||
console.log(error);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
process.on('beforeExit', (code) => {
|
||||
@@ -77,6 +95,7 @@ module.exports = {
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Before Exit'.red);
|
||||
console.log('Code de sortie:', code);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
process.on('exit', (code) => {
|
||||
@@ -84,6 +103,7 @@ module.exports = {
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Exit'.red);
|
||||
console.log('Code de sortie:', code);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user