const { EmbedBuilder } = require("discord.js"); const db = require("../../fonctions/database.js"); const embedColor = require("../../fonctions/embedColor.js"); module.exports = { aliases: ["t", "tinfo", "teaminfo"], description: "Affiche les informations de votre team.", emote: "๐Ÿ›ก๏ธ", utilisation: "", permission: 0, async execute(message, args, client) { const member = message.mentions.members.first() || message.member; 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, member.id], (err, row) => { if (err) reject(err); resolve(row); }, ); }); if (!team) { const embed = new EmbedBuilder() .setTitle("๐Ÿ›ก๏ธ Informations de team") .setDescription( "<@" + member.id + "> n'est actuellement dans aucune une team.", ) .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 }, }); } else { 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); }, ); }); let Aname; if (alliance) { Aname = alliance.name; } else { Aname = "aucune alliance"; } const memberlist = await new Promise((resolve, reject) => { db.all( `SELECT userId, teamRole FROM users WHERE guildId = ? AND teamId = ?`, [message.guild.id, team.id], (err, rows) => { if (err) reject(err); resolve(rows); }, ); }); let CadenaS = "๐Ÿ”“"; if (team.padlock == 5) { CadenaS = "๐Ÿ”๐Ÿ”๐Ÿ”๐Ÿ”๐Ÿ”"; } if (team.padlock == 4) { CadenaS = "๐Ÿ”๐Ÿ”๐Ÿ”๐Ÿ”"; } if (team.padlock == 3) { CadenaS = "๐Ÿ”๐Ÿ”๐Ÿ”"; } if (team.padlock == 2) { CadenaS = "๐Ÿ”๐Ÿ”"; } if (team.padlock == 1) { CadenaS = "๐Ÿ”"; } //////////////////////////////////////////////////// TEAM DROPER /////////////////////////////////////////////////////////////////// data = await new Promise((resolve, reject) => { db.all( `SELECT userId, teamDroper AS coins FROM users WHERE teamId = ? ORDER BY coins DESC LIMIT 10`, [team.id], (err, rows) => { if (err) reject(err); resolve(rows); }, ); }); let leaderboard = data .map((row, i) => { let position; switch (i) { case 0: position = ":first_place:"; break; case 1: position = ":second_place:"; break; case 2: position = ":third_place:"; break; default: position = `**${i + 1}.**`; } return `${position} <@${row.userId}> - \`${row.coins}\`coins donnรฉ(s)`; }) .join("\n"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// const embed = new EmbedBuilder() .setTitle("๐Ÿ›ก๏ธ Informations de `" + team.name + "`:") .setDescription( `**Id:** \`${team.id}\`\n**Description:** \`${team.description}\`\n**Banque:** \`${team.bank}\`coins\n**Niveau:** \`${team.level}\`\n**Reputation:** \`${team.reputation}\`\n\n**Soldats:** \`${team.soldiers}\`\n**Soldats blessรฉs:** \`${team.woundedSoldiers}\`\n**Niveau du camp:** \`${team.campLevel}\`\n**Tourelles:** \`${team.turrets}\`\n**Cadenas:** \`${CadenaS}\`\n\n\nAlliance : ${Aname}\n\n\n**Membres (\`${memberlist.length}\`):**\n${memberlist.map((member) => `**${member.teamRole}:** <@${member.userId}>`).join("\n")}\n`, ) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandรฉ par ${message.author.tag}`, iconURL: message.author.displayAvatarURL(), }); const embedTopDonnateur = new EmbedBuilder() .setTitle("**Les 10 meilleurs donnateurs de la team sont :**") .setDescription(`${leaderboard}`) .setColor(await embedColor(message.author.id, message.guild.id)) .setTimestamp() .setFooter({ text: `Demandรฉ par ${message.author.tag}`, iconURL: message.author.displayAvatarURL(), }); const urlRegex1 = /(https?:\/\/[^\s]+)/g; if (team.icon && urlRegex1.test(team.icon)) { embed.setThumbnail(team.icon); } const urlRegex2 = /(https?:\/\/[^\s]+)/g; if (team.banner && urlRegex2.test(team.banner)) { embedTopDonnateur.setImage(team.banner); } return message.reply({ embeds: [embed, embedTopDonnateur], allowedMentions: { repliedUser: false }, }); } }, };