format all file

This commit is contained in:
arthur
2024-06-24 00:32:05 +02:00
parent 4b9530443b
commit 6e5f371801
82 changed files with 9299 additions and 5804 deletions
+120 -69
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 } });
},
};
};