diff --git a/commands/jobs/hack.js b/commands/jobs/hack.js index 020efa7..66d656d 100644 --- a/commands/jobs/hack.js +++ b/commands/jobs/hack.js @@ -10,109 +10,130 @@ module.exports = { permission: 0, async execute(message, args, client) { - if (args.length > 0) { - const teamID = args[0].toLowerCase(); + if (args.length <= 2) { + const embed = new EmbedBuilder() + .setTitle('Ajout Impossible') + .setDescription(`❌ Veuillez indiquer l'id une team.`) + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); - 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); - }); + return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + } + + const teamID = args[0].toLowerCase(); + + 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); }); - const userRep = user.reputation - if (userRep < 4) { - const embed = new EmbedBuilder() - .setTitle('Hack Impossible') - .setDescription(`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais vous n'avez que \`${userRep}\` reputation`) - .setColor(await embedColor(message.author.id, message.guild.id)) - .setTimestamp() - .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + }); + const userRep = user.reputation + if (userRep < 4) { + const embed = new EmbedBuilder() + .setTitle('Hack Impossible') + .setDescription(`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais vous n'avez que \`${userRep}\` reputation`) + .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 } }); - } - const lastHack = user.lastHack + return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + } + const lastHack = user.lastHack - const team = await new Promise((resolve, reject) => { - db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, teamID], (err, row) => { - if (err) reject(err); - resolve(row); - }); - }); - - if (lastHack > Date.now() - 7200000) { - const embed = new EmbedBuilder() - .setTitle('Hack Impossible') - .setDescription(`❌ Vous avez déjà hack une team récemment. Veuillez attendre ${Math.floor((lastHack + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir ajouter une reputation à 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 } }); - } - - db.run(`UPDATE users SET lastHack =? WHERE guildId =? AND userId =?`, [Date.now(), message.guild.id, message.author.id], (err) => { - if (err) { - console.log(`${err}`.red) + const team = await new Promise((resolve, reject) => { + db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, teamID], async (err, row) => { + if (err) reject(err); + if (!row) { + return message.reply({ + embeds: [ + new EmbedBuilder() + .setTitle('Erreur') + .setDescription('❌ La team spécifié n\'existe pas.') + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + ], allowedMentions: { repliedUser: false } + }); } + resolve(parseInt(row.reputation)); }); - db.run(`UPDATE users SET reputation = reputation - 4 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => { + }); + + if (lastHack > Date.now() - 7200000) { + const embed = new EmbedBuilder() + .setTitle('Hack Impossible') + .setDescription(`❌ Vous avez déjà hack une team récemment. Veuillez attendre ${Math.floor((lastHack + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir ajouter une reputation à 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 } }); + } + + db.run(`UPDATE users SET lastHack =? WHERE guildId =? AND userId =?`, [Date.now(), message.guild.id, message.author.id], (err) => { + if (err) { + console.log(`${err}`.red) + } + }); + db.run(`UPDATE users SET reputation = reputation - 4 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => { + if (err) { + console.log(`${err}`.red) + } + }); + + if (Math.floor(Math.random() * 5) <= 1) { + db.run(`UPDATE teams SET padlock = padlock - 1 WHERE guildId =? AND id =?`, [message.guild.id, teamID], (err) => { if (err) { console.log(`${err}`.red) } }); - if (Math.floor(Math.random() * 5) <= 1) { - db.run(`UPDATE teams SET padlock = padlock - 1 WHERE guildId =? AND id =?`, [message.guild.id, teamID], (err) => { + const embed = new EmbedBuilder() + .setTitle('Hack réussi !') + .setDescription('Vous avez cassé(e) un cadenas de la team `' + team.name + '`, cette team à maintement `' + team.padlock - 1 + '` cadenas !') + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setImage('') + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + + if (team.padlock == 1) { + db.run(`UPDATE users SET bank =? WHERE guildId =? AND userId =?`, [user.bank + team.bank, message.guild.id, message.author.id], (err) => { + if (err) { + console.log(`${err}`.red) + } + }); + db.run(`UPDATE teams SET bank = 0 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => { if (err) { console.log(`${err}`.red) } }); - const embed = new EmbedBuilder() - .setTitle('Hack réussi !') - .setDescription('Vous avez cassé(e) un cadenas de la team `' + team.name + '`, cette team à maintement `' + team.padlock - 1 + '` cadenas !') + const embed2 = new EmbedBuilder() + .setTitle('Vole de la banque !') + .setDescription('La team n\'a plus de cadenas ! Vous avez donc recupéré tout l\'argent de la bank (`' + team.bank + '`coins) !') .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setImage() .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); - if (team.padlock == 1) { - db.run(`UPDATE users SET bank =? WHERE guildId =? AND userId =?`, [user.bank + team.bank, message.guild.id, message.author.id], (err) => { - if (err) { - console.log(`${err}`.red) - } - }); - db.run(`UPDATE teams SET bank = 0 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => { - if (err) { - console.log(`${err}`.red) - } - }); - - const embed2 = new EmbedBuilder() - .setTitle('Vole de la banque !') - .setDescription('La team n\'a plus de cadenas ! Vous avez donc recupéré tout l\'argent de la bank (`' + team.bank + '`coins) !') - .setColor(await embedColor(message.author.id, message.guild.id)) - .setTimestamp() - .setImage() - .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); - - message.reply({ embeds: [embed, embed2], allowedMentions: { repliedUser: false } }); - } - else { - message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); - } + message.reply({ embeds: [embed, embed2], allowedMentions: { repliedUser: false } }); } else { - const embed = new EmbedBuilder() - .setTitle('Erreur lors du hack !') - .setDescription('Vous n\'avez pas reussi à casser un cadenas de la team `' + team.name + '`, qui à donc, toujours, `' + team.padlock + '` cadenas.') - .setColor(await embedColor(message.author.id, message.guild.id)) - .setTimestamp() - .setImage() - .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); - message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); } } + else { + const embed = new EmbedBuilder() + .setTitle('Erreur lors du hack !') + .setDescription('Vous n\'avez pas reussi à casser un cadenas de la team `' + team.name + '`, qui à donc, toujours, `' + team.padlock + '` cadenas.') + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setImage('https://cdn.discordapp.com/attachments/1173221717024448573/1188280123485601842/hacker-meme.gif?ex=6655d0da&is=66547f5a&hm=103ee9971cdb67eb528df4c6031e4da69366fb1d1c638f21d4ebf0ef34220691&') + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); + + message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }); + } }, }; \ No newline at end of file diff --git a/commands/teams/trep.js b/commands/teams/trep.js index d707090..9fd507e 100644 --- a/commands/teams/trep.js +++ b/commands/teams/trep.js @@ -13,7 +13,7 @@ module.exports = { if (args.length <= 2) { const embed = new EmbedBuilder() .setTitle('Ajout Impossible') - .setDescription(`❌ Veuillez selectionner une team.`) + .setDescription(`❌ Veuillez indiquer l'id une team.`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }); @@ -31,9 +31,21 @@ module.exports = { const lastTrep = user.lastTrep const team = await new Promise((resolve, reject) => { - db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, teamID], (err, row) => { + db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, teamID], async (err, row) => { if (err) reject(err); - resolve(row); + if (!row) { + return message.reply({ + embeds: [ + new EmbedBuilder() + .setTitle('Erreur') + .setDescription('❌ La team spécifié n\'existe pas.') + .setColor(await embedColor(message.author.id, message.guild.id)) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + ], allowedMentions: { repliedUser: false } + }); + } + resolve(parseInt(row.reputation)); }); });