diff --git a/commands/Alliance/Acreate.js b/commands/Alliance/Acreate.js index 5fc5efc..19adcea 100644 --- a/commands/Alliance/Acreate.js +++ b/commands/Alliance/Acreate.js @@ -13,12 +13,18 @@ module.exports = { permission: 0, async execute(message, args, client) { + const team = await new Promise((resolve, reject) => { + db.get(`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`, [message.guild.id, message.guild.id, message.author.id], (err, row) => { + if (err) reject(err); + resolve(row); + }); + }); await new Promise((resolve, reject) => { db.get(`SELECT * FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => { if (err) { reject(err); } else { - if (row.teamRole !== owner ) { + if (row.teamRole !== 'owner') { embedColor(message.author.id, message.guild.id).then(color => { const embed = new EmbedBuilder() .setTitle('🛡️ Création de alliance') @@ -27,6 +33,17 @@ module.exports = { .setTimestamp() .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }) + }); + } else if (row.alliancesId) { + embedColor(message.author.id, message.guild.id).then(color => { + const embed = new EmbedBuilder() + .setTitle('🛡️ Création de alliance') + .setDescription(`Votre team a deja une alliance.`) + .setColor(color) + .setTimestamp() + .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) + return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } }) }); } else if (row.pocket < 3000) { @@ -90,19 +107,19 @@ module.exports = { allianceDescription = m.content; let idBase = allianceName.toLowerCase().replace(/ /g, ''); - idBase = allianceName.toLowerCase().replace('0', ''); - idBase = allianceName.toLowerCase().replace('1', ''); - idBase = allianceName.toLowerCase().replace('2', ''); - idBase = allianceName.toLowerCase().replace('3', ''); - idBase = allianceName.toLowerCase().replace('4', ''); - idBase = allianceName.toLowerCase().replace('5', ''); - idBase = allianceName.toLowerCase().replace('6', ''); - idBase = allianceName.toLowerCase().replace('7', ''); - idBase = allianceName.toLowerCase().replace('8', ''); - idBase = allianceName.toLowerCase().replace('9', ''); + 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', ''); let id = idBase; - let increment = '-'; + let increment = 0; let exists = true; do { await new Promise((resolve, reject) => { @@ -112,11 +129,11 @@ module.exports = { } else { exists = !!row; if (exists) { - increment =+ '-'; + increment = increment + 1; id = idBase + increment; } else { db.run(`INSERT INTO alliances (guildId, id, name, description, creator) VALUES (?, ?, ?, ?, ?)`, [message.guild.id, id, allianceName, allianceDescription, message.author.id]); - db.run(`UPDATE teams SET allianceId = ? WHERE guildId = ? AND userId = ?`, [id, message.guild.id, message.author.id]); + db.run(`UPDATE teams SET alliancesId = ? WHERE guildId = ? AND id = ?`, [id, message.guild.id, team.id]); } resolve(); } diff --git a/commands/Alliance/Adelete.js b/commands/Alliance/Adelete.js index a12441b..8eb5dc4 100644 --- a/commands/Alliance/Adelete.js +++ b/commands/Alliance/Adelete.js @@ -10,13 +10,18 @@ module.exports = { permission: 0, async execute(message, args, client) { - const alliance = await new Promise((resolve, reject) => { - db.get(`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`, [message.guild.id, message.guild.id, message.author.id], (err, row) => { + const team = await new Promise((resolve, reject) => { + db.get(`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`, [message.guild.id, message.guild.id, message.author.id], (err, row) => { if (err) reject(err); resolve(row); }); }); - + const alliance = await new Promise((resolve, reject) => { + db.get(`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT alliancesId FROM teams WHERE guildId = ? AND id = ?)`, [message.guild.id, message.guild.id, team.id], (err, row) => { + if (err) reject(err); + resolve(row); + }); + }); if (!alliance) { const embed = new EmbedBuilder() .setTitle('🛡️ Suppression de l\'alliance') @@ -70,7 +75,7 @@ module.exports = { return i.update({ content: 'Une erreur est survenue lors de la suppression de l\'alliance.', components: [] }); } - db.run(`UPDATE teams SET alliancesId = NULL WHERE guildId =? AND alliancesId =?`, [message.guild.id, alliance.id], async (err) => { + db.run(`UPDATE teams SET alliancesId = null WHERE guildId =? AND alliancesId =?`, [message.guild.id, alliance.id], async (err) => { if (err) { return i.update({ content: 'Une erreur est survenue lors de la mise à jour des teams membres.', components: [] }); }