Update me, team and ADD juge

This commit is contained in:
*x1
2024-06-17 19:24:07 +02:00
parent 00b4f2638c
commit 2979ea1bd3
3 changed files with 127 additions and 4 deletions
+2 -1
View File
@@ -22,6 +22,7 @@ module.exports = {
const reputation = user.reputation
const niveau = user.lvl
const xp = user.xp
const tdrop = user.tdroper
let anti_rob = ``
if (user.antiRob + 7200000 > Date.now()) {
@@ -30,7 +31,7 @@ module.exports = {
const embed = new EmbedBuilder()
.setAuthor({ name: `Détails du Compte de ${member.user.tag}`, iconURL: member.user.displayAvatarURL() })
.setDescription(`> :moneybag: **Poche:** \`${pocket}\`\n> :bank: **Banque:** \`${bank}\`\n> :star2: **Réputation:** \`${reputation}\`\n\n> :bar_chart: **Niveau:** \`${niveau}\`\n> :small_orange_diamond: **Xp:** \`${xp}/${niveau*100}\``)
.setDescription(`> :moneybag: **Poche:** \`${pocket}\`\n> :bank: **Banque:** \`${bank}\`\n> :star2: **Réputation:** \`${reputation}\`\n\n> :bar_chart: **Niveau:** \`${niveau}\`\n> :small_orange_diamond: **Xp:** \`${xp}/${niveau*100}\`\n\nCoins donnés à une team: \`${tdrop}\`🎁`)
.setColor(await embedColor(member.id, message.guild.id))
.setTimestamp()
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
+122
View File
@@ -0,0 +1,122 @@
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
const embedColor = require('../../fonctions/embedColor.js');
const db = require('../../fonctions/database.js');
module.exports = {
aliases: ['braquage'],
description: 'Tente un braquage. (cout : 5coins)',
emote: '🏦',
utilisation: '<@membre>',
permission: 0,
async execute(message, args, client) {
/////////////////////////////// Calcule des données de la cible ////////////////////////////////////////////////
const cible = message.mentions.users.first();
if (!cible) {
const embed = new EmbedBuilder()
.setTitle('Erreur')
.setDescription('❌ Vous devez mentionner un membre.')
.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 cibleBD = await new Promise((resolve, reject) => {
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, cible.id], (err, row) => {
if (err) reject(err);
resolve(row);
});
});
/////////////////////////////// Calcule des données du message.author /////////////////////////////////////////
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);
});
});
let countPr = 0
let countContre = 0
const pour = new ButtonBuilder()
.setCustomId('pour')
.setLabel('✅ Pour la sanction')
.setStyle(ButtonStyle.Primary);
const contre = new ButtonBuilder()
.setCustomId('contre')
.setLabel('😡 Contre la sanction')
.setStyle(ButtonStyle.Primary);
const row = new ActionRowBuilder()
.addComponents(pour);
const msg = message.channel.send({
embeds: [
new EmbedBuilder()
.setTitle(`Jugement de <@${cible.id}>`)
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setImage('')
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
],
components: [row],
allowedMentions: { repliedUser: false }
});
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 (i.customId === 'contre') {
if (i.user.id == message.author.id) { countContre =+ 2} else {countContre =+ 1}
msg.edit({
embeds: [
new EmbedBuilder()
.setTitle(`Jugement de <${cible.id}>`)
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setImage('')
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
],
components: [row],
allowedMentions: { repliedUser: false }
})
}
else {
if (i.user.id == message.author.id) { countPr =+ 2} else {countPr =+ 1}
msg.edit({
embeds: [
new EmbedBuilder()
.setTitle(`Jugement de <${cible.id}>`)
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setImage('https://tenor.com/view/judge-ace-attorney-ace-attorney-aa-gif-2687377729828245947')
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
],
components: [row],
allowedMentions: { repliedUser: false }
})
}
})
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 } });
}
});
}
};
+3 -3
View File
@@ -12,7 +12,7 @@ module.exports = {
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], (err, row) => {
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);
});
@@ -53,7 +53,7 @@ module.exports = {
//////////////////////////////////////////////////// TEAM DROPER ///////////////////////////////////////////////////////////////////
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) => {
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);
});
@@ -79,7 +79,7 @@ module.exports = {
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**Membres (\`${memberlist.length}\`):**\n${memberlist.map(member => `**${member.teamRole}:** <@${member.userId}>`).join('\n')}\nLes 10 meilleurs donnateur de la team sont :\n\n${leaderboard}`)
.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**Membres (\`${memberlist.length}\`):**\n${memberlist.map(member => `**${member.teamRole}:** <@${member.userId}>`).join('\n')}\n\n**Les 10 meilleurs donnateur de la team sont :**\n${leaderboard}\n`)
.setColor(await embedColor(message.author.id, message.guild.id))
.setTimestamp()
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });