mirror of
https://github.com/arthur-pbty/bot-discord-coins.git
synced 2026-06-03 23:36:29 +02:00
format all file
This commit is contained in:
+120
-69
@@ -1,78 +1,129 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const { EmbedBuilder } = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['tcadena'],
|
||||
description: 'Ajoute un cadenas à une team. (max : 5, coût : 3reputation)',
|
||||
emote: '🔒',
|
||||
utilisation: '<team-id>',
|
||||
permission: 0,
|
||||
aliases: ["tcadena"],
|
||||
description: "Ajoute un cadenas à une team. (max : 5, coût : 3reputation)",
|
||||
emote: "🔒",
|
||||
utilisation: "<team-id>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
const teamID = args[0].toLowerCase();
|
||||
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 (!team) {
|
||||
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() });
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
|
||||
const teamRep = team.reputation
|
||||
if (teamRep < 4) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de cadenas impossible')
|
||||
.setDescription(`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais la team n'a que \`${teamRep}\` 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 } });
|
||||
}
|
||||
|
||||
db.run(`UPDATE teams SET reputation = reputation - 4 WHERE guildId =? AND Id =?`, [message.guild.id, teamID], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
async execute(message, args, client) {
|
||||
const teamID = args[0].toLowerCase();
|
||||
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 (!team) {
|
||||
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(),
|
||||
});
|
||||
|
||||
if (team.padlock < 5) {
|
||||
db.run(`UPDATE teams SET padlock = padlock + 1 WHERE guildId =? AND Id =?`, [message.guild.id, teamID], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
});
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de cadenas réussi !')
|
||||
.setDescription('Vous avez ajouter un cadenas à 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() });
|
||||
const teamRep = team.reputation;
|
||||
if (teamRep < 4) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Ajout de cadenas impossible")
|
||||
.setDescription(
|
||||
`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais la team n'a que \`${teamRep}\` reputation`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de cadenas impossible')
|
||||
.setDescription('`' + team.name + '` à le maximum de cadenas (`' + 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() });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
db.run(
|
||||
`UPDATE teams SET reputation = reputation - 4 WHERE guildId =? AND Id =?`,
|
||||
[message.guild.id, teamID],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
if (team.padlock < 5) {
|
||||
db.run(
|
||||
`UPDATE teams SET padlock = padlock + 1 WHERE guildId =? AND Id =?`,
|
||||
[message.guild.id, teamID],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Ajout de cadenas réussi !")
|
||||
.setDescription(
|
||||
"Vous avez ajouter un cadenas à 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(),
|
||||
});
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Ajout de cadenas impossible")
|
||||
.setDescription(
|
||||
"`" +
|
||||
team.name +
|
||||
"` à le maximum de cadenas (`" +
|
||||
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(),
|
||||
});
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
+153
-94
@@ -1,94 +1,153 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
|
||||
module.exports = {
|
||||
aliases: ['tdep', 'tdepot', 'teamdep', 'teamdepot'],
|
||||
description: 'Dépose de l\'argent dans la banque de votre team.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant|all>',
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length == 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un montant à déposer.')
|
||||
.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 if (args[0] !== 'all' && isNaN(args[0])) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un montant valide à déposer.')
|
||||
.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 if (args[0] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous devez déposer au moins 1 coin.')
|
||||
.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 pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.pocket);
|
||||
});
|
||||
});
|
||||
|
||||
let amout;
|
||||
if (args[0] === 'all') {
|
||||
amout = pocket;
|
||||
} else if (args[0] > pocket) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous n\'avez pas assez d\'argent sur vous pour déposer cette somme.\n\n💰 Vous avez actuellement **' + pocket + 'coins** sur vous.')
|
||||
.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 {
|
||||
amout = args[0];
|
||||
}
|
||||
|
||||
const team = 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);
|
||||
});
|
||||
});
|
||||
if (!team) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous n\'êtes pas dans 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 {
|
||||
db.run(`UPDATE users SET pocket = pocket - ?, teamDroper = teamDroper + ? WHERE guildId = ? AND userId = ?`, [amout, amout, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE teams SET bank = bank + ? WHERE guildId = ? AND id = ?`, [amout, message.guild.id, team.id]);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Effectué')
|
||||
.setDescription('💰 Vous avez déposé **' + amout + '** coins dans la banque de votre 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 } });
|
||||
}
|
||||
},
|
||||
};
|
||||
const { EmbedBuilder } = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ["tdep", "tdepot", "teamdep", "teamdepot"],
|
||||
description: "Dépose de l'argent dans la banque de votre team.",
|
||||
emote: "💰",
|
||||
utilisation: "<montant|all>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length == 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription("❌ Vous devez spécifier un montant à déposer.")
|
||||
.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 if (args[0] !== "all" && isNaN(args[0])) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription("❌ Vous devez spécifier un montant valide à déposer.")
|
||||
.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 if (args[0] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription("❌ Vous devez déposer au moins 1 coin.")
|
||||
.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 pocket = await new Promise((resolve, reject) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.pocket);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
let amout;
|
||||
if (args[0] === "all") {
|
||||
amout = pocket;
|
||||
} else if (args[0] > pocket) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas assez d'argent sur vous pour déposer cette somme.\n\n💰 Vous avez actuellement **" +
|
||||
pocket +
|
||||
"coins** sur vous.",
|
||||
)
|
||||
.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 {
|
||||
amout = args[0];
|
||||
}
|
||||
|
||||
const team = 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);
|
||||
},
|
||||
);
|
||||
});
|
||||
if (!team) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription("❌ Vous n'êtes pas dans 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 {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ?, teamDroper = teamDroper + ? WHERE guildId = ? AND userId = ?`,
|
||||
[amout, amout, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(`UPDATE teams SET bank = bank + ? WHERE guildId = ? AND id = ?`, [
|
||||
amout,
|
||||
message.guild.id,
|
||||
team.id,
|
||||
]);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("Dépôt Effectué")
|
||||
.setDescription(
|
||||
"💰 Vous avez déposé **" +
|
||||
amout +
|
||||
"** coins dans la banque de votre 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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
+157
-122
@@ -1,122 +1,157 @@
|
||||
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 } });
|
||||
}
|
||||
},
|
||||
};
|
||||
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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
+159
-110
@@ -1,110 +1,159 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
|
||||
module.exports = {
|
||||
aliases: ['tinvite'],
|
||||
description: 'Invite un utilisateur à votre team.',
|
||||
emote: '🛡️',
|
||||
utilisation: '<@user>',
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (!args[0]) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription('Veuillez mentionner un utilisateur à inviter.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
});
|
||||
}
|
||||
|
||||
const userToInvite = message.mentions.users.first();
|
||||
if (!userToInvite) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
});
|
||||
}
|
||||
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, userToInvite.id], (err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
});
|
||||
|
||||
if (team) {
|
||||
return message.channel.reply('<@' + userToInvite.id + '> a déjà une team')
|
||||
}
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
if (!user || user.teamRole !== 'owner' || user.teamRole !== 'officer') {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription('Vous n\'êtes pas administrateur de cette équipe.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
});
|
||||
}
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const accept = new ButtonBuilder()
|
||||
.setCustomId('accept')
|
||||
.setLabel('Rejoindre la team')
|
||||
.setStyle(ButtonStyle.Success);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(accept);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription(`<@${userToInvite.id}> tu as été invité à rejoindre l'équipe de <@${message.author.id}>. Pour accepter l'invitation, clique sur le bouton.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
|
||||
(async () => {
|
||||
const sentMessage = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
|
||||
const filter = i => i.customId === 'accept' && i.user.id === userToInvite.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 120000 });
|
||||
collector.on('collect', async (interaction) => {
|
||||
db.run(`UPDATE users SET teamId = ?, teamRole = ? WHERE guildId = ? AND userId = ?`, [user.teamId, 'membre', message.guild.id, userToInvite.id], (err) => {
|
||||
if (err) {
|
||||
return message.reply('Une erreur est survenue lors de l\'invitation de l\'utilisateur.');
|
||||
}
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription(`<@${userToInvite.id}> rejoint l\'équipe.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
sentMessage.edit({ embeds: [embed], components: [], allowedMentions: { repliedUser: false } });
|
||||
});
|
||||
});
|
||||
})();
|
||||
});
|
||||
},
|
||||
};
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ["tinvite"],
|
||||
description: "Invite un utilisateur à votre team.",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (!args[0]) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle("🛡️ Invitation à l'équipe")
|
||||
.setDescription("Veuillez mentionner un utilisateur à inviter.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const userToInvite = message.mentions.users.first();
|
||||
if (!userToInvite) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle("🛡️ Invitation à l'équipe")
|
||||
.setDescription("Utilisateur non trouvé.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
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, userToInvite.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (team) {
|
||||
return message.channel.reply(
|
||||
"<@" + userToInvite.id + "> a déjà une team",
|
||||
);
|
||||
}
|
||||
|
||||
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);
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!user || user.teamRole !== "owner" || user.teamRole !== "officer") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle("🛡️ Invitation à l'équipe")
|
||||
.setDescription("Vous n'êtes pas administrateur de cette équipe.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const accept = new ButtonBuilder()
|
||||
.setCustomId("accept")
|
||||
.setLabel("Rejoindre la team")
|
||||
.setStyle(ButtonStyle.Success);
|
||||
|
||||
const row = new ActionRowBuilder().addComponents(accept);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Invitation à l'équipe")
|
||||
.setDescription(
|
||||
`<@${userToInvite.id}> tu as été invité à rejoindre l'équipe de <@${message.author.id}>. Pour accepter l'invitation, clique sur le bouton.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
(async () => {
|
||||
const sentMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = (i) =>
|
||||
i.customId === "accept" && i.user.id === userToInvite.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 120000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamId = ?, teamRole = ? WHERE guildId = ? AND userId = ?`,
|
||||
[user.teamId, "membre", message.guild.id, userToInvite.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
return message.reply(
|
||||
"Une erreur est survenue lors de l'invitation de l'utilisateur.",
|
||||
);
|
||||
}
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Invitation à l'équipe")
|
||||
.setDescription(`<@${userToInvite.id}> rejoint l\'équipe.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
sentMessage.edit({
|
||||
embeds: [embed],
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
})();
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
+143
-101
@@ -1,101 +1,143 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamleave'],
|
||||
description: 'Quitte une team.',
|
||||
emote: '🛡️',
|
||||
utilisation: '',
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamId FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
if (row.teamId === null ) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.setDescription(`Vous n'êtes dans aucune team.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamRole FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
if (row.teamRole === 'owner') {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.setDescription(`Vous êtes le leader de votre team. Vous devez nommer un autre membre leader avant de quitter la team. Pour cela, utilisez la commande \`&tpromote <membre>\` jusqu'à ce que vous ne soyez plus leader.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.setDescription(`Êtes-vous sûr de vouloir quitter votre team ?`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
|
||||
const confirmeButton = new ButtonBuilder()
|
||||
.setCustomId('confirme')
|
||||
.setLabel('✅')
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(confirmeButton);
|
||||
|
||||
const messageTeam = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
|
||||
const filter = i => i.user.id === message.author.id;
|
||||
const collector = messageTeam.createMessageComponentCollector({ filter, time: 60000 });
|
||||
collector.on('collect', async i => {
|
||||
if (i.customId === 'confirme') {
|
||||
db.run(`UPDATE users SET teamId = NULL, teamRole = NULL WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], err => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return i.reply('Une erreur est survenue.');
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.setDescription(`Vous avez quitté votre team.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return i.update({ embeds: [embed], components: [] });
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ["teamleave"],
|
||||
description: "Quitte une team.",
|
||||
emote: "🛡️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(
|
||||
`SELECT teamId FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
if (row.teamId === null) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Quitter une team")
|
||||
.setDescription(`Vous n'êtes dans aucune team.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(
|
||||
`SELECT teamRole FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
if (row.teamRole === "owner") {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Quitter une team")
|
||||
.setDescription(
|
||||
`Vous êtes le leader de votre team. Vous devez nommer un autre membre leader avant de quitter la team. Pour cela, utilisez la commande \`&tpromote <membre>\` jusqu'à ce que vous ne soyez plus leader.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Quitter une team")
|
||||
.setDescription(`Êtes-vous sûr de vouloir quitter votre team ?`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const confirmeButton = new ButtonBuilder()
|
||||
.setCustomId("confirme")
|
||||
.setLabel("✅")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder().addComponents(confirmeButton);
|
||||
|
||||
const messageTeam = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = (i) => i.user.id === message.author.id;
|
||||
const collector = messageTeam.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.customId === "confirme") {
|
||||
db.run(
|
||||
`UPDATE users SET teamId = NULL, teamRole = NULL WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return i.reply("Une erreur est survenue.");
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🛡️ Quitter une team")
|
||||
.setDescription(`Vous avez quitté votre team.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return i.update({ embeds: [embed], components: [] });
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
+94
-49
@@ -1,84 +1,129 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const { EmbedBuilder } = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamrep'],
|
||||
description: 'Ajoute un point de reputation à une team.',
|
||||
emote: '➕',
|
||||
utilisation: '<team-id>',
|
||||
aliases: ["teamrep"],
|
||||
description: "Ajoute un point de reputation à une team.",
|
||||
emote: "➕",
|
||||
utilisation: "<team-id>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (!args[0]) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout Impossible')
|
||||
.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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
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);
|
||||
});
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
},
|
||||
);
|
||||
});
|
||||
const lastTrep = user.lastTrep
|
||||
const lastTrep = user.lastTrep;
|
||||
|
||||
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.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));
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (lastTrep > Date.now() - 5400000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout Impossible')
|
||||
.setDescription(`❌ Vous avez déjà ajouter une reputation récemment. Veuillez attendre ${Math.floor((lastTrep + 5400000 - Date.now()) / 60000)} minutes avant de pouvoir ajouter une reputation à nouveau.`)
|
||||
.setTitle("Ajout Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà ajouter une reputation récemment. Veuillez attendre ${Math.floor((lastTrep + 5400000 - 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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET lastTrep =? WHERE guildId =? AND userId =?`, [Date.now(), message.guild.id, message.author.id], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
});
|
||||
db.run(
|
||||
`UPDATE users SET lastTrep =? WHERE guildId =? AND userId =?`,
|
||||
[Date.now(), message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
db.run(`UPDATE teams SET reputation = reputation + 1 WHERE guildId =? AND id =?`, [message.guild.id, teamID], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
});
|
||||
db.run(
|
||||
`UPDATE teams SET reputation = reputation + 1 WHERE guildId =? AND id =?`,
|
||||
[message.guild.id, teamID],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Reputation ajouté !')
|
||||
.setDescription('Vous avez ajouter une reputation à la team `' + team.name + '`, qui a maintement `' + (team.reputation + 1) + '` reputation !')
|
||||
.setTitle("Reputation ajouté !")
|
||||
.setDescription(
|
||||
"Vous avez ajouter une reputation à la team `" +
|
||||
team.name +
|
||||
"`, qui a maintement `" +
|
||||
(team.reputation + 1) +
|
||||
"` reputation !",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user