mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-03 23:36:29 +02:00
Merge branch 'main' of https://github.com/arthur-pbty/bot-discord-coins
This commit is contained in:
+3
-5
@@ -6,10 +6,9 @@
|
||||
&awh
|
||||
&blacklistAdd
|
||||
&blacklistRemove
|
||||
&servers
|
||||
&sell
|
||||
?? = &sell
|
||||
&drop
|
||||
&box
|
||||
?? = &box
|
||||
&juge
|
||||
&tcadenas
|
||||
&tleave
|
||||
@@ -18,5 +17,4 @@
|
||||
&tdemote
|
||||
&tpromote
|
||||
&tedit
|
||||
&tkick
|
||||
&towner
|
||||
&tkick
|
||||
@@ -17,12 +17,12 @@ module.exports = {
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
const pocket = user.pocket
|
||||
const bank = user.bank
|
||||
const pocket = Math.round(user.pocket)
|
||||
const bank = Math.round(user.bank)
|
||||
const reputation = user.reputation
|
||||
const niveau = user.lvl
|
||||
const xp = user.xp
|
||||
const tdrop = user.tdroper
|
||||
const tdrop = Math.round(user.tdroper)
|
||||
|
||||
let anti_rob = ``
|
||||
if (user.antiRob + 7200000 > Date.now()) {
|
||||
|
||||
+34
-4
@@ -3,10 +3,10 @@ const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
|
||||
module.exports = {
|
||||
aliases: ['leaderboard', 'lb'],
|
||||
description: 'Affiche le top 10 des membres du serveur.',
|
||||
aliases: ['leaderboard', 'lb', 'ttop'],
|
||||
description: 'Affiche le top 10 des membres/teams du serveur.',
|
||||
emote: '🏆',
|
||||
utilisation: '[global|pocket|bank|reputation|niveau|teamdonnateur]',
|
||||
utilisation: '[global|pocket|bank|reputation|niveau|team|teamreputation|teamdonnateur]',
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -20,6 +20,10 @@ module.exports = {
|
||||
args[0] = 'reputation'
|
||||
} else if (args[0] === 'niveau' || args[0] === 'lvl' || args[0] === 'level' || args[0] === 'lvl') {
|
||||
args[0] = 'niveau'
|
||||
} else if (args[0] === 'team' || args[0] === 't') {
|
||||
args[0] = 'team'
|
||||
} else if (args[0] === 'teamreputation' || args[0] === 'treputation' || args[0] === 'teamrep' || args[0] === 'trep') {
|
||||
args[0] = 'team'
|
||||
} else if (args[0] === 'teamdonnateur' || args[0] === ' tdonnateur' || args[0] === 'tdroper' || args[0] === ' tdropper' || args[0] === ' teamdrop' || args[0] === 'tdrop' || args[0] === 'teamdroper' || args[0] === 'teamdropper') {
|
||||
args[0] = 'teamdroper'
|
||||
} else if (!args[0]) {
|
||||
@@ -29,7 +33,7 @@ module.exports = {
|
||||
message.reply({ embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Argument invalide')
|
||||
.setDescription(`Vous pouvez utiliser les arguments suivants: \`coins\`, \`pocket\`, \`bank\`, \`reputation\`, \`niveau\` ou ne rien mettre pour afficher le top 10 des membres du serveur.`)
|
||||
.setDescription(`Vous pouvez utiliser les arguments suivants: \`coins\`, \`pocket\`, \`bank\`, \`reputation\`, \`niveau\`, \`team\`, \`teamreputation\`, \`teamdonnateur\`, ou ne rien mettre pour afficher le top 10 des membres du serveur.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
@@ -73,6 +77,20 @@ module.exports = {
|
||||
resolve(rows);
|
||||
});
|
||||
});
|
||||
} else if (type === 'team') {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT name, bank AS coins FROM teams WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
});
|
||||
} else if (type === 'teamreputation') {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT name, reputation AS teams FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
});
|
||||
} else if (type === 'teamdroper') {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, teamdroper AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
@@ -88,6 +106,8 @@ module.exports = {
|
||||
bank: '🏦',
|
||||
reputation: '🔺',
|
||||
niveau: '📊',
|
||||
team: '👑',
|
||||
teamreputation: '🔺',
|
||||
teamdroper: '🎁'
|
||||
}
|
||||
|
||||
@@ -150,6 +170,16 @@ module.exports = {
|
||||
.setEmoji('📊')
|
||||
.setDescription('Affiche le top en fonction du niveau')
|
||||
.setValue('niveau'),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Teams bank')
|
||||
.setEmoji('👑')
|
||||
.setDescription('Affiche le top en fonction de l\'argent des teams')
|
||||
.setValue('team'),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Teams réputation')
|
||||
.setEmoji('🔺')
|
||||
.setDescription('Affiche le top en fonction de la réputation des teams')
|
||||
.setValue('teamreputation'),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('TeamDroper')
|
||||
.setEmoji('🎁')
|
||||
|
||||
@@ -19,6 +19,7 @@ module.exports = {
|
||||
}
|
||||
});
|
||||
});
|
||||
if (key == 0) return message.reply('Tu n\'as pas de clef, tu ne peux pas ouvrir de box')
|
||||
db.run(`UPDATE users SET key = key - 1 WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id])
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
|
||||
module.exports = {
|
||||
aliases: ['pouletfight', 'pfight', 'poulet'],
|
||||
description: 'Fait un combat de poulet.',
|
||||
emote: '🐔',
|
||||
utilisation: '<mise>',
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let mise = 0
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
});
|
||||
});
|
||||
if (args[0] == 'all') {
|
||||
mise = pocket
|
||||
} else {
|
||||
mise = args[0]
|
||||
}
|
||||
|
||||
if (pocket < mise) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
if (isNaN(args[0]) && !args[0] == "all") {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
return
|
||||
} else if (mise < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
//.setImage('') // image de combat de poulet
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet. Les poulets se battent...\nRésultat dans 7.5 secondes...`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 2);
|
||||
let win = '';
|
||||
if (result === 0) {
|
||||
win = true;
|
||||
} else {
|
||||
win = false;
|
||||
}
|
||||
|
||||
let gain = 0;
|
||||
if (win == true) {
|
||||
gain = Math.round(mise * 2);
|
||||
} else {
|
||||
gain = 0 - mise;
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (gain >= 0) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a gagné ! Vous avez gagné \`${gain}\`coins !`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
return
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a perdu. Vous avez perdu \`${0 - gain}\`coins !`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
return
|
||||
}
|
||||
}
|
||||
};
|
||||
+14
-7
@@ -7,8 +7,10 @@ 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(`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs\n`)
|
||||
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',
|
||||
@@ -17,17 +19,21 @@ module.exports = {
|
||||
}],
|
||||
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) {
|
||||
@@ -49,9 +55,11 @@ module.exports = {
|
||||
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);
|
||||
@@ -60,7 +68,8 @@ module.exports = {
|
||||
});
|
||||
|
||||
if (team.location == 0) return
|
||||
db.run(`UPDATE teams SET bank = bank + ? WHERE guildId = ? AND userId = ?`, [team.location, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE teams SET bank = bank + ?`, [team.location]);
|
||||
console.log('Bâtiment : OK')
|
||||
}, 1 * 60 * 1000)
|
||||
|
||||
//AntiCrash
|
||||
@@ -68,7 +77,7 @@ module.exports = {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Unhandled Rejection/Catch'.red);
|
||||
console.log(error);
|
||||
console.log(`${error}`.grey);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
@@ -76,7 +85,7 @@ module.exports = {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Uncaught Exception/Catch'.red);
|
||||
console.log(error);
|
||||
console.log(`${error}`.grey);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
});
|
||||
@@ -85,7 +94,7 @@ module.exports = {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Uncaught Exception Monitor/Catch'.red);
|
||||
console.log(error);
|
||||
console.log(`${error}`.grey);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
});
|
||||
@@ -95,7 +104,6 @@ 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) => {
|
||||
@@ -103,7 +111,6 @@ module.exports = {
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Exit'.red);
|
||||
console.log('Code de sortie:', code);
|
||||
loggE(error)
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
[ERROR] || 20/051/2024 =>> 18h 37m 19s 514ms || TypeError: team.forEach is not a function
|
||||
[ERROR] || 20/051/2024 =>> 18h 37m 19s 551ms || TypeError: team.forEach is not a function
|
||||
[ERROR] || 20/051/2024 =>> 18h 37m 19s 628ms || TypeError: team.forEach is not a function
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user