From ab25c72f059f9dcd8b593ef5735a01f3980106e1 Mon Sep 17 00:00:00 2001 From: *x1 Date: Wed, 19 Jun 2024 16:03:37 +0200 Subject: [PATCH] Add alliances sys (partit 11) --- commands/Alliance/Acreate.js | 22 +++++----- commands/jobs/juge.js | 83 ++++++++++++++++++++++++++++++------ 2 files changed, 80 insertions(+), 25 deletions(-) diff --git a/commands/Alliance/Acreate.js b/commands/Alliance/Acreate.js index 19adcea..b814f7f 100644 --- a/commands/Alliance/Acreate.js +++ b/commands/Alliance/Acreate.js @@ -6,7 +6,7 @@ let allianceName let allianceDescription module.exports = { - aliases: ['alliancecreate'], + aliases: ['acreate', 'alliancecreate'], description: 'Crée une alliance.', emote: '✒️', utilisation: '', @@ -107,16 +107,16 @@ module.exports = { allianceDescription = m.content; let idBase = allianceName.toLowerCase().replace(/ /g, ''); - idBase = allianceName.replace('0', ''); - idBase = allianceName.replace('1', ''); - idBase = allianceName.replace('2', ''); - idBase = allianceName.replace('3', ''); - idBase = allianceName.replace('4', ''); - idBase = allianceName.replace('5', ''); - idBase = allianceName.replace('6', ''); - idBase = allianceName.replace('7', ''); - idBase = allianceName.replace('8', ''); - idBase = allianceName.replace('9', ''); + idBase = idBase.replace('0', ''); + idBase = idBase.replace('1', ''); + idBase = idBase.replace('2', ''); + idBase = idBase.replace('3', ''); + idBase = idBase.replace('4', ''); + idBase = idBase.replace('5', ''); + idBase = idBase.replace('6', ''); + idBase = idBase.replace('7', ''); + idBase = idBase.replace('8', ''); + idBase = idBase.replace('9', ''); let id = idBase; let increment = 0; diff --git a/commands/jobs/juge.js b/commands/jobs/juge.js index 913a66c..062b69b 100644 --- a/commands/jobs/juge.js +++ b/commands/jobs/juge.js @@ -1,10 +1,11 @@ const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js'); const embedColor = require('../../fonctions/embedColor.js'); const db = require('../../fonctions/database.js'); +const cooldown = new Set(); module.exports = { - aliases: ['braquage'], - description: 'Tente un braquage. (cout : 5coins)', + aliases: ['jugement', 'procès', 'proces'], + description: 'Juge un membre. (cout : 1reputation + 500coins)', emote: '🏦', utilisation: '<@membre>', permission: 0, @@ -39,6 +40,19 @@ module.exports = { resolve(row); }); }); + + const lastJuge = user.lastJuge + if (lastJuge > Date.now() - 3600000) { + const embed = new EmbedBuilder() + .setTitle('Jugement Impossible') + .setDescription(`❌ Vous avez déjà juger récemment. Veuillez attendre ${Math.floor((lastBraquage + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir braquer à nouveau.`) + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + + return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + } + let countPr = 0 let countContre = 0 const pour = new ButtonBuilder() @@ -55,7 +69,7 @@ module.exports = { const msg = message.channel.send({ embeds: [ new EmbedBuilder() - .setTitle(`Jugement de <@${cible.id}>`) + .setTitle(`Jugement de ${cible.user.username}`) .setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() @@ -72,12 +86,14 @@ module.exports = { const filter = i => (i.customId === 'pour' || i.customId === 'contre') && i.user.id === message.author.id; const collector = msg.createMessageComponentCollector({ filter, time: 60000 }) collector.on('collect', async (interaction) => { + if (cooldown.has(message.author.id)) { return message.reply({ content: 'Vous avez deja voté', ephemeral: true }) } + cooldown.add(message.author.id); if (i.customId === 'contre') { - if (i.user.id == message.author.id) { countContre =+ 2} else {countContre =+ 1} + if (i.user.id == message.author.id) { countContre = + 2 } else { countContre = + 1 } msg.edit({ embeds: [ new EmbedBuilder() - .setTitle(`Jugement de <${cible.id}>`) + .setTitle(`Jugement de ${cible.user.username}`) .setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() @@ -89,7 +105,7 @@ module.exports = { }) } else { - if (i.user.id == message.author.id) { countPr =+ 2} else {countPr =+ 1} + if (i.user.id == message.author.id) { countPr = + 2 } else { countPr = + 1 } msg.edit({ embeds: [ new EmbedBuilder() @@ -108,15 +124,54 @@ module.exports = { collector.on('end', () => { if (countContre > countPr) { - msg.edit({ embeds: [ - new EmbedBuilder() - .setTitle(`Jugement de <${cible.id}>`) - .setDescription(`Les charges sont abandonnée`) - .setTimestamp() - .setImage('') - .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) - ], components: [], allowedMentions: { repliedUser: false } }); + msg.edit({ + embeds: [ + new EmbedBuilder() + .setTitle(`Jugement de ${cible.user.username}`) + .setDescription(`Les charges sont abandonnée`) + .setTimestamp() + .setImage('') + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + ], components: [], allowedMentions: { repliedUser: false } }); } + if (countContre == countPr) { + msg.edit({ + embeds: [ + new EmbedBuilder() + .setTitle(`Jugement de ${cible.user.username}`) + .setDescription(`Le jury n'arrive pas à ce mettre d'accord ||(${countPr}pour VS ${countContre}contre)|| Les charges sont donc appliquer mais à moitié, ${cible.user.username} ne pourras plus faire la commande \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour la prochaine heures plus le cooldown de chaque commande qui recommancera a la fin de ce delai.`) + .setTimestamp() + .setImage('') + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + ], components: [], allowedMentions: { repliedUser: false } + }); + db.run(`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`, [Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, message.guild.id, cible.id], (err) => { + if (err) { + console.log(`${err}`) + } + }) + } + if (countContre < countPr) { + msg.edit({ + embeds: [ + new EmbedBuilder() + .setTitle(`Jugement de ${cible.user.username}`) + .setDescription(`Le jury c'est mis d'accord, ${cible.user.username} ne pourras plus faire les commandes \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour __les deux__ prochaines heure __**plus le cooldown de chaque commande** qui recommancera a la **fin de ce delai**.__`) + .setTimestamp() + .setImage('') + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + ], components: [], allowedMentions: { repliedUser: false } + }); + db.run(`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`, [Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, message.guild.id, cible.id], (err) => { + if (err) { + console.log(`${err}`) + } + }) + } + /* CAR TOUJOURS EN TEST ET FLEMME DE ME DROP DES REP ET COINS A CHAQUE FOIS + db.run(`UPDATE users SET reputation = reputation - 1 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id]) + db.run(`UPDATE users SET pocket = pocket - 500 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id]) + */ }); } }; \ No newline at end of file