mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-18 13:46:22 +02:00
Update me, team and ADD juge
This commit is contained in:
@@ -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() });
|
||||
|
||||
@@ -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 } });
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -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() });
|
||||
|
||||
Reference in New Issue
Block a user