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:
+137
-62
@@ -1,129 +1,186 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const { EmbedBuilder } = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
let allianceName
|
||||
let allianceDescription
|
||||
let allianceName;
|
||||
let allianceDescription;
|
||||
|
||||
module.exports = {
|
||||
aliases: ['acreate', 'alliancecreate'],
|
||||
description: 'Crée une alliance.',
|
||||
emote: '✒️',
|
||||
utilisation: '',
|
||||
aliases: ["acreate", "alliancecreate"],
|
||||
description: "Crée une alliance.",
|
||||
emote: "✒️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
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, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * 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 => {
|
||||
if (row.teamRole !== "owner") {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de alliance')
|
||||
.setTitle("🛡️ Création de alliance")
|
||||
.setDescription(`Vous n'êtes pas proprietaire d'une team.`)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else if (row.alliancesId) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de alliance')
|
||||
.setTitle("🛡️ Création de alliance")
|
||||
.setDescription(`Votre team a deja une alliance.`)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else if (row.pocket < 3000) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de alliance')
|
||||
.setDescription(`Vous n'avez pas assez de fonds pour créer une alliance. Vous avez besoin de 3000coins.`)
|
||||
.setTitle("🛡️ Création de alliance")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez de fonds pour créer une alliance. Vous avez besoin de 3000coins.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
db.run(`UPDATE users SET pocket = pocket - 3000 WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - 3000 WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création d\'alliance')
|
||||
.setTitle("🛡️ Création d'alliance")
|
||||
.setDescription(`Ecrivez le nom de votre alliance dans le chat.`)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const messageTeam = await message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
const messageTeam = await message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = m => m.author.id === message.author.id;
|
||||
const collector = message.channel.createMessageCollector({ filter, time: 60000, max: 1 });
|
||||
collector.on('collect', async m => {
|
||||
const filter = (m) => m.author.id === message.author.id;
|
||||
const collector = message.channel.createMessageCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
max: 1,
|
||||
});
|
||||
collector.on("collect", async (m) => {
|
||||
if (m.content.length > 25) {
|
||||
m.reply('Le nom de l\'alliance ne doit pas dépasser 25 caractères.');
|
||||
m.reply("Le nom de l'alliance ne doit pas dépasser 25 caractères.");
|
||||
return collector.stop();
|
||||
} else if (m.content.length < 3) {
|
||||
m.reply('Le nom de l\'alliance doit contenir au moins 3 caractères.');
|
||||
m.reply("Le nom de l'alliance doit contenir au moins 3 caractères.");
|
||||
return collector.stop();
|
||||
} else {
|
||||
allianceName = m.content;
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de l\'alliance')
|
||||
.setDescription(`Ecrivez la description de votre alliance dans le chat.`)
|
||||
.setTitle("🛡️ Création de l'alliance")
|
||||
.setDescription(
|
||||
`Ecrivez la description de votre alliance dans le chat.`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
messageTeam.edit({ embeds: [embed] });
|
||||
m.delete();
|
||||
|
||||
const collectorD = message.channel.createMessageCollector({ filter, time: 60000, max: 1 });
|
||||
collectorD.on('collect', async m => {
|
||||
const collectorD = message.channel.createMessageCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
max: 1,
|
||||
});
|
||||
collectorD.on("collect", async (m) => {
|
||||
if (m.content.length > 250) {
|
||||
m.reply('La description de l\'alliance ne doit pas dépasser 250 caractères.');
|
||||
m.reply(
|
||||
"La description de l'alliance ne doit pas dépasser 250 caractères.",
|
||||
);
|
||||
return collectorD.stop();
|
||||
} else if (m.content.length < 5) {
|
||||
m.reply('La description de l\'alliance doit contenir au moins 5 caractères.');
|
||||
m.reply(
|
||||
"La description de l'alliance doit contenir au moins 5 caractères.",
|
||||
);
|
||||
return collectorD.stop();
|
||||
} else {
|
||||
allianceDescription = m.content;
|
||||
|
||||
let idBase = allianceName.toLowerCase().replace(/ /g, '');
|
||||
idBase = idBase.replace('0', '');
|
||||
idBase = idBase.replace('1', '');
|
||||
idBase = idBase.replace('2', '');
|
||||
idBase = idBase.replace('3', '');
|
||||
idBase = idBase.replace('4', '');
|
||||
idBase = idBase.replace('5', '');
|
||||
idBase = idBase.replace('6', '');
|
||||
idBase = idBase.replace('7', '');
|
||||
idBase = idBase.replace('8', '');
|
||||
idBase = idBase.replace('9', '');
|
||||
let idBase = allianceName.toLowerCase().replace(/ /g, "");
|
||||
idBase = idBase.replace("0", "");
|
||||
idBase = idBase.replace("1", "");
|
||||
idBase = idBase.replace("2", "");
|
||||
idBase = idBase.replace("3", "");
|
||||
idBase = idBase.replace("4", "");
|
||||
idBase = idBase.replace("5", "");
|
||||
idBase = idBase.replace("6", "");
|
||||
idBase = idBase.replace("7", "");
|
||||
idBase = idBase.replace("8", "");
|
||||
idBase = idBase.replace("9", "");
|
||||
|
||||
let id = idBase;
|
||||
let increment = 0;
|
||||
let exists = true;
|
||||
do {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM alliances WHERE id = ? AND guildId = ?`, [id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM alliances WHERE id = ? AND guildId = ?`,
|
||||
[id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -132,21 +189,39 @@ module.exports = {
|
||||
increment = increment + 1;
|
||||
id = idBase + increment;
|
||||
} else {
|
||||
db.run(`INSERT INTO alliances (guildId, id, name, description, creator) VALUES (?, ?, ?, ?, ?)`, [message.guild.id, id, allianceName, allianceDescription, message.author.id]);
|
||||
db.run(`UPDATE teams SET alliancesId = ? WHERE guildId = ? AND id = ?`, [id, message.guild.id, team.id]);
|
||||
db.run(
|
||||
`INSERT INTO alliances (guildId, id, name, description, creator) VALUES (?, ?, ?, ?, ?)`,
|
||||
[
|
||||
message.guild.id,
|
||||
id,
|
||||
allianceName,
|
||||
allianceDescription,
|
||||
message.author.id,
|
||||
],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE teams SET alliancesId = ? WHERE guildId = ? AND id = ?`,
|
||||
[id, message.guild.id, team.id],
|
||||
);
|
||||
}
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
} while (exists);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de l\'alliance')
|
||||
.setDescription(`Votre alliance a été créée avec succès !\n\n**ID :** ${id}\n**Nom :** ${allianceName}\n**Description :** ${allianceDescription}\n\nVous pouvez maintenant inviter des owners de team dans votre alliance avec la commande \`&allianceinvite\`.\n\nPour quitter la alliance, utilisez la commande \`&allianceleave\` (vous deverez d'abord donner l\'alliance à quelqu'un d'autre).`)
|
||||
.setTitle("🛡️ Création de l'alliance")
|
||||
.setDescription(
|
||||
`Votre alliance a été créée avec succès !\n\n**ID :** ${id}\n**Nom :** ${allianceName}\n**Description :** ${allianceDescription}\n\nVous pouvez maintenant inviter des owners de team dans votre alliance avec la commande \`&allianceinvite\`.\n\nPour quitter la alliance, utilisez la commande \`&allianceleave\` (vous deverez d'abord donner l\'alliance à quelqu'un d'autre).`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
messageTeam.edit({ embeds: [embed] });
|
||||
m.delete();
|
||||
@@ -154,5 +229,5 @@ module.exports = {
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+119
-48
@@ -1,102 +1,173 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['alliancedelete', 'adelete', 'aremove', 'allianceremove'],
|
||||
description: 'Supprime votre alliance.',
|
||||
emote: '🗑️',
|
||||
util: '',
|
||||
aliases: ["alliancedelete", "adelete", "aremove", "allianceremove"],
|
||||
description: "Supprime votre alliance.",
|
||||
emote: "🗑️",
|
||||
util: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
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, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
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) => {
|
||||
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);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
if (!alliance) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'alliance')
|
||||
.setDescription('Vous n\'êtes actuellement pas dans une alliance.')
|
||||
.setTitle("🛡️ Suppression de l'alliance")
|
||||
.setDescription("Vous n'êtes actuellement pas dans une alliance.")
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
|
||||
if (alliance.creator !== message.author.id) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Suppression Impossible')
|
||||
.setDescription('❌ Vous n\'avez pas la permission de supprimer votre alliance.')
|
||||
.setTitle("Suppression Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas la permission de supprimer votre alliance.",
|
||||
)
|
||||
.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 row = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
const row = new ActionRowBuilder().addComponents(
|
||||
new ButtonBuilder()
|
||||
.setCustomId('confirm_delete')
|
||||
.setLabel('Confirmer')
|
||||
.setCustomId("confirm_delete")
|
||||
.setLabel("Confirmer")
|
||||
.setStyle(ButtonStyle.Danger),
|
||||
new ButtonBuilder()
|
||||
.setCustomId('cancel_delete')
|
||||
.setLabel('Annuler')
|
||||
.setStyle(ButtonStyle.Secondary)
|
||||
.setCustomId("cancel_delete")
|
||||
.setLabel("Annuler")
|
||||
.setStyle(ButtonStyle.Secondary),
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'alliance')
|
||||
.setDescription(`Êtes-vous sûr de vouloir supprimer l'alliance ${alliance.name}? Cette action est irréversible.`)
|
||||
.setTitle("🛡️ Suppression de l'alliance")
|
||||
.setDescription(
|
||||
`Êtes-vous sûr de vouloir supprimer l'alliance ${alliance.name}? Cette action est irréversible.`,
|
||||
)
|
||||
.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], components: [row], allowedMentions: { repliedUser: false } }).then(sentMessage => {
|
||||
const filter = i => i.customId === 'confirm_delete' || i.customId === 'cancel_delete' && i.user.id === message.author.id;
|
||||
message
|
||||
.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
})
|
||||
.then((sentMessage) => {
|
||||
const filter = (i) =>
|
||||
i.customId === "confirm_delete" ||
|
||||
(i.customId === "cancel_delete" && i.user.id === message.author.id);
|
||||
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 15000 });
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 15000,
|
||||
});
|
||||
|
||||
collector.on('collect', async i => {
|
||||
if (i.customId === 'confirm_delete') {
|
||||
db.run(`DELETE FROM alliances WHERE guildId = ? AND id = ? AND creator = ?`, [message.guild.id, alliance.id, message.author.id], async (err) => {
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.customId === "confirm_delete") {
|
||||
db.run(
|
||||
`DELETE FROM alliances WHERE guildId = ? AND id = ? AND creator = ?`,
|
||||
[message.guild.id, alliance.id, message.author.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return i.update({ content: 'Une erreur est survenue lors de la suppression de l\'alliance.', components: [] });
|
||||
return i.update({
|
||||
content:
|
||||
"Une erreur est survenue lors de la suppression de l'alliance.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE teams SET alliancesId = null WHERE guildId =? AND alliancesId =?`, [message.guild.id, alliance.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE teams SET alliancesId = null WHERE guildId =? AND alliancesId =?`,
|
||||
[message.guild.id, alliance.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return i.update({ content: 'Une erreur est survenue lors de la mise à jour des teams membres.', components: [] });
|
||||
return i.update({
|
||||
content:
|
||||
"Une erreur est survenue lors de la mise à jour des teams membres.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'alliance')
|
||||
.setDescription(`L'alliance ${alliance.name} a été supprimée avec succès.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("🛡️ Suppression de l'alliance")
|
||||
.setDescription(
|
||||
`L'alliance ${alliance.name} a été supprimée avec succès.`,
|
||||
)
|
||||
.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 i.update({ embeds: [embed], components: [] });
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
await i.update({ content: 'Suppression de l\'alliance annulée.', components: [] });
|
||||
await i.update({
|
||||
content: "Suppression de l'alliance annulée.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
collector.on('end', collected => {
|
||||
if (collected.size === 0) sentMessage.edit({ content: 'Temps écoulé. Suppression de l\'équipe annulée.', components: [] });
|
||||
collector.on("end", (collected) => {
|
||||
if (collected.size === 0)
|
||||
sentMessage.edit({
|
||||
content: "Temps écoulé. Suppression de l'équipe annulée.",
|
||||
components: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
+98
-39
@@ -1,94 +1,153 @@
|
||||
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: ['adep', 'adepot', 'alliancedep', 'alliancedepot'],
|
||||
description: 'Dépose de l\'argent dans la banque de votre alliance. (tout le monde peux en recupéré ⚠️)',
|
||||
emote: '💰',
|
||||
utilisation: '<montant|all>',
|
||||
aliases: ["adep", "adepot", "alliancedep", "alliancedepot"],
|
||||
description:
|
||||
"Dépose de l'argent dans la banque de votre alliance. (tout le monde peux en recupéré ⚠️)",
|
||||
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.')
|
||||
.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() });
|
||||
.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])) {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} else if (args[0] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous devez déposer au moins 1 coin.')
|
||||
.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() });
|
||||
.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 pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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') {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
amout = args[0];
|
||||
}
|
||||
|
||||
const alliance = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT alliancesId FROM team WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?))`, [message.guild.id, message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT alliancesId FROM team WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?))`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
if (!alliance) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous n\'êtes pas dans une alliances.')
|
||||
.setTitle("Dépôt Impossible")
|
||||
.setDescription("❌ Vous n'êtes pas dans une alliances.")
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
db.run(`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [amout, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE alliances SET bank = bank + ? WHERE guildId = ? AND id = ?`, [amout, message.guild.id, alliance.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`,
|
||||
[amout, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE alliances SET bank = bank + ? WHERE guildId = ? AND id = ?`,
|
||||
[amout, message.guild.id, alliance.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Effectué')
|
||||
.setDescription('💰 Vous avez déposé **' + amout + '** coins dans la banque de votre alliances.')
|
||||
.setTitle("Dépôt Effectué")
|
||||
.setDescription(
|
||||
"💰 Vous avez déposé **" +
|
||||
amout +
|
||||
"** coins dans la banque de votre alliances.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+78
-32
@@ -1,77 +1,123 @@
|
||||
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: ['arep', 'areputation', 'alliancereputation', 'alliancerep'],
|
||||
description: 'Ajoute une reputation a une alliance. (tout le monde peux en recupéré ⚠️)',
|
||||
emote: '💰',
|
||||
utilisation: '<id>',
|
||||
aliases: ["arep", "areputation", "alliancereputation", "alliancerep"],
|
||||
description:
|
||||
"Ajoute une reputation a une alliance. (tout le monde peux en recupéré ⚠️)",
|
||||
emote: "💰",
|
||||
utilisation: "<id>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length == 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de reputation')
|
||||
.setDescription('❌ Vous devez spécifier une alliance a rep.')
|
||||
.setTitle("Ajout de reputation")
|
||||
.setDescription("❌ Vous devez spécifier une alliance a rep.")
|
||||
.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 },
|
||||
});
|
||||
} else if (args[0] < 3) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de reputation')
|
||||
.setDescription('❌ Vous devez mettre l\'id d\'une alliance.')
|
||||
.setTitle("Ajout de reputation")
|
||||
.setDescription("❌ Vous devez mettre l'id d'une alliance.")
|
||||
.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 alliance = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM alliances WHERE guildId = ? AND id = ?`, [message.guild.id, args[0]], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM alliances WHERE guildId = ? AND id = ?`,
|
||||
[message.guild.id, args[0]],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.lastRep);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!alliance) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de reputation')
|
||||
.setDescription('❌ Alliance introuvable.')
|
||||
.setTitle("Ajout de reputation")
|
||||
.setDescription("❌ Alliance introuvable.")
|
||||
.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 },
|
||||
});
|
||||
} else if (user.lastArep > Date.now() - 1800000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de reputation impossible')
|
||||
.setDescription(`❌ Vous avez déjà ajouté une reputation récemment. Veuillez attendre \`${Math.floor((user.lastArep + 1800000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à nouveau.`)
|
||||
.setTitle("Ajout de reputation impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà ajouté une reputation récemment. Veuillez attendre \`${Math.floor((user.lastArep + 1800000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à 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 },
|
||||
});
|
||||
} else {
|
||||
db.run(`UPDATE alliances SET reputation = reputation + 1 WHERE guildId = ? AND id = ?`, [message.guild.id, args[0]]);
|
||||
db.run(
|
||||
`UPDATE alliances SET reputation = reputation + 1 WHERE guildId = ? AND id = ?`,
|
||||
[message.guild.id, args[0]],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Ajout de reputation effectué')
|
||||
.setDescription('💰 Vous avez ajouter `1` reputation à l\`alliance `' + args[0] + '`.')
|
||||
.setTitle("Ajout de reputation effectué")
|
||||
.setDescription(
|
||||
"💰 Vous avez ajouter `1` reputation à l`alliance `" + args[0] + "`.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+155
-55
@@ -1,123 +1,223 @@
|
||||
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: ['awh', 'awith', 'alliancewh', 'alliancewith', 'awithdraw', 'alliancewithdraw'],
|
||||
description: 'Récupere de l\'argent/des reputation dans la banque de votre alliance.',
|
||||
emote: '💰',
|
||||
utilisation: '<rep|coins> <montant|all>',
|
||||
aliases: [
|
||||
"awh",
|
||||
"awith",
|
||||
"alliancewh",
|
||||
"alliancewith",
|
||||
"awithdraw",
|
||||
"alliancewithdraw",
|
||||
],
|
||||
description:
|
||||
"Récupere de l'argent/des reputation dans la banque de votre alliance.",
|
||||
emote: "💰",
|
||||
utilisation: "<rep|coins> <montant|all>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length == 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un type et un montant à récupérer (`awith coins 200`).')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous devez spécifier un type et un montant à récupérer (`awith coins 200`).",
|
||||
)
|
||||
.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 } });
|
||||
} else if (args[1] !== 'all' && isNaN(args[1])) {
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[1] !== "all" && isNaN(args[1])) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un montant valide à récupérer.')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous devez spécifier un montant valide à récupérer.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else if (args[1] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Vous devez récupérer au moins 1 coin/rep.')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription("❌ Vous devez récupérer au moins 1 coin/rep.")
|
||||
.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 alliance = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT alliancesId FROM team WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?))`, [message.guild.id, message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM alliances WHERE guildId = ? AND id = (SELECT alliancesId FROM team WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?))`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
if (!alliance) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Vous n\'êtes pas dans une alliances.')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription("❌ Vous n'êtes pas dans une alliances.")
|
||||
.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 } });
|
||||
} else if (args[0] == 'rep' || args[0] == 'r' || args[0] == 'reputation') {
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] == "rep" || args[0] == "r" || args[0] == "reputation") {
|
||||
let amout;
|
||||
if (args[1] === 'all') {
|
||||
if (args[1] === "all") {
|
||||
amout = alliance.bank;
|
||||
} else if (args[1] > alliance.bank) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Il n\'y a pas suffisament de reputation dans l\'alliance pour en recupéré autant.\n\n💰 Il y a actuellement `' + alliance.reputation + '`rep')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription(
|
||||
"❌ Il n'y a pas suffisament de reputation dans l'alliance pour en recupéré autant.\n\n💰 Il y a actuellement `" +
|
||||
alliance.reputation +
|
||||
"`rep",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
amout = args[1];
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET reputation = reputation + ? WHERE guildId = ? AND userId = ?`, [amout, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE alliances SET reputation = reputation - ? WHERE guildId = ? AND id = ?`, [amout, message.guild.id, alliance.id]);
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation + ? WHERE guildId = ? AND userId = ?`,
|
||||
[amout, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE alliances SET reputation = reputation - ? WHERE guildId = ? AND id = ?`,
|
||||
[amout, message.guild.id, alliance.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Effectué')
|
||||
.setDescription('💰 Vous avez récupéré **' + amout + '** coins dans la banque de votre alliances.')
|
||||
.setTitle("Récuperation Effectué")
|
||||
.setDescription(
|
||||
"💰 Vous avez récupéré **" +
|
||||
amout +
|
||||
"** coins dans la banque de votre alliances.",
|
||||
)
|
||||
.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 } });
|
||||
} else if (args[1] == 'coin' || args[0] == 'c' || args[0] == 'coins') {
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[1] == "coin" || args[0] == "c" || args[0] == "coins") {
|
||||
let amout;
|
||||
if (args[1] === 'all') {
|
||||
if (args[1] === "all") {
|
||||
amout = alliance.bank;
|
||||
} else if (args[1] > alliance.bank) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Il n\'y a pas suffisament de coins dans l\'alliance pour récupérer cette somme.\n\n💰 il y a actuellement `' + alliance.bank + '`coins')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription(
|
||||
"❌ Il n'y a pas suffisament de coins dans l'alliance pour récupérer cette somme.\n\n💰 il y a actuellement `" +
|
||||
alliance.bank +
|
||||
"`coins",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
amout = args[1];
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [amout, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE alliances SET bank = bank - ? WHERE guildId = ? AND id = ?`, [amout, message.guild.id, alliance.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`,
|
||||
[amout, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE alliances SET bank = bank - ? WHERE guildId = ? AND id = ?`,
|
||||
[amout, message.guild.id, alliance.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Effectué')
|
||||
.setDescription('💰 Vous avez récupéré **' + amout + '** coins dans la banque de votre alliances.')
|
||||
.setTitle("Récuperation Effectué")
|
||||
.setDescription(
|
||||
"💰 Vous avez récupéré **" +
|
||||
amout +
|
||||
"** coins dans la banque de votre alliances.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Récuperation Impossible')
|
||||
.setDescription('❌ Veuillez spécifier un type valide (rep|coins) :\n(`awith <rep|coins> <nombre>`)')
|
||||
.setTitle("Récuperation Impossible")
|
||||
.setDescription(
|
||||
"❌ Veuillez spécifier un type valide (rep|coins) :\n(`awith <rep|coins> <nombre>`)",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,54 +1,79 @@
|
||||
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: ['a', 'ainfo', 'allianceinfo'],
|
||||
description: 'Affiche les informations de votre alliance.',
|
||||
emote: '🛡️',
|
||||
utilisation: '',
|
||||
aliases: ["a", "ainfo", "allianceinfo"],
|
||||
description: "Affiche les informations de votre alliance.",
|
||||
emote: "🛡️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.members.first() || message.author;
|
||||
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) => {
|
||||
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);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
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) => {
|
||||
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);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!alliance) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Informations d\'alliance')
|
||||
.setDescription('<@' + member.id + '> n\'est actuellement dans aucune alliance.')
|
||||
.setTitle("🛡️ Informations d'alliance")
|
||||
.setDescription(
|
||||
"<@" + member.id + "> n'est actuellement dans aucune alliance.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
const memberlist = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT name FROM teams WHERE guildId = ? AND alliancesId = ?`, [message.guild.id, team.alliancesId], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT name FROM teams WHERE guildId = ? AND alliancesId = ?`,
|
||||
[message.guild.id, team.alliancesId],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Informations de `' + alliance.name + '`:')
|
||||
.setDescription(`**Id:** \`${alliance.id}\`\n**Description:** \`${alliance.description}\`\n**Banque:** \`${alliance.bank}\`coins => Tout le monde peux recupéré ces coins.\n**Reputation:** \`${alliance.reputation} => Tout le monde peux recupéré ces reputations\`\n\n**Membres (\`${memberlist.length}\`):**\n${memberlist.map(member => `**${member.allianceRole}:** <@${member.userId}>`).join('\n')}\n`)
|
||||
.setTitle("🛡️ Informations de `" + alliance.name + "`:")
|
||||
.setDescription(
|
||||
`**Id:** \`${alliance.id}\`\n**Description:** \`${alliance.description}\`\n**Banque:** \`${alliance.bank}\`coins => Tout le monde peux recupéré ces coins.\n**Reputation:** \`${alliance.reputation} => Tout le monde peux recupéré ces reputations\`\n\n**Membres (\`${memberlist.length}\`):**\n${memberlist.map((member) => `**${member.allianceRole}:** <@${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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const urlRegex1 = /(https?:\/\/[^\s]+)/g;
|
||||
if (alliance.icon && urlRegex1.test(alliance.icon)) {
|
||||
@@ -60,7 +85,10 @@ module.exports = {
|
||||
embedTopDonnateur.setImage(alliance.banner);
|
||||
}
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+134
-73
@@ -1,150 +1,211 @@
|
||||
const { EmbedBuilder, StringSelectMenuBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
StringSelectMenuBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: [],
|
||||
description: 'Change la couleur de vos embed.',
|
||||
emote: '🔵',
|
||||
utilisation: '',
|
||||
description: "Change la couleur de vos embed.",
|
||||
emote: "🔵",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔵 Embed')
|
||||
.setTitle("🔵 Embed")
|
||||
.setDescription(`Sélectionnez une couleur pour vos embeds`)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const select = new StringSelectMenuBuilder()
|
||||
.setCustomId('color')
|
||||
.setPlaceholder('Sélectionnez une couleur')
|
||||
.setCustomId("color")
|
||||
.setPlaceholder("Sélectionnez une couleur")
|
||||
.addOptions([
|
||||
{
|
||||
label: '🔴 Rouge',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'red',
|
||||
label: "🔴 Rouge",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "red",
|
||||
},
|
||||
{
|
||||
label: '🟠 Orange',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'orange',
|
||||
label: "🟠 Orange",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "orange",
|
||||
},
|
||||
{
|
||||
label: '🟡 Jaune',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'yellow',
|
||||
label: "🟡 Jaune",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "yellow",
|
||||
},
|
||||
{
|
||||
label: '🟢 Vert',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'green',
|
||||
label: "🟢 Vert",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "green",
|
||||
},
|
||||
{
|
||||
label: '🔵 Bleu',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'blue',
|
||||
label: "🔵 Bleu",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "blue",
|
||||
},
|
||||
{
|
||||
label: '🟣 Violet',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'purple',
|
||||
label: "🟣 Violet",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "purple",
|
||||
},
|
||||
{
|
||||
label: '🟤 Marron',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'brown',
|
||||
label: "🟤 Marron",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "brown",
|
||||
},
|
||||
{
|
||||
label: '⚫ Noir',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'black',
|
||||
label: "⚫ Noir",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "black",
|
||||
},
|
||||
{
|
||||
label: '⚪ Blanc',
|
||||
description: 'Prix : 3 rep🔺',
|
||||
value: 'white',
|
||||
label: "⚪ Blanc",
|
||||
description: "Prix : 3 rep🔺",
|
||||
value: "white",
|
||||
},
|
||||
{
|
||||
label: 'Aléatoire 🌈',
|
||||
description: 'Prix : 5 rep🔺',
|
||||
value: 'random',
|
||||
label: "Aléatoire 🌈",
|
||||
description: "Prix : 5 rep🔺",
|
||||
value: "random",
|
||||
},
|
||||
]);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(select);
|
||||
const row = new ActionRowBuilder().addComponents(select);
|
||||
|
||||
const embedMessage = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
const embedMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = (interaction) => interaction.user.id === message.author.id;
|
||||
const collector = embedMessage.createMessageComponentCollector({ filter, time: 60000 });
|
||||
collector.on('collect', async (interaction) => {
|
||||
const collector = embedMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
if (interaction.isStringSelectMenu()) {
|
||||
if (!client.user) return
|
||||
if (!client.user) return;
|
||||
const value = interaction.values[0];
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 reputation = user.reputation;
|
||||
|
||||
if (value === 'random') {
|
||||
if (value === "random") {
|
||||
if (reputation < 5) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas assez de réputations pour acheter cette couleur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas assez de réputations pour acheter cette couleur.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
|
||||
return interaction.reply({ embeds: [embed], ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET reputation = reputation - 5, embed = 'random' WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err) => {
|
||||
if (err) return console.error(err);
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return interaction.reply({
|
||||
embeds: [embed],
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation - 5, embed = 'random' WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) return console.error(err);
|
||||
},
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔵 Embed')
|
||||
.setDescription('✅ Vous avez acheté la couleur aléatoire pour vos embeds.')
|
||||
.setTitle("🔵 Embed")
|
||||
.setDescription(
|
||||
"✅ Vous avez acheté la couleur aléatoire pour vos embeds.",
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
if (reputation < 3) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas assez de réputations pour acheter cette couleur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas assez de réputations pour acheter cette couleur.",
|
||||
)
|
||||
.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 interaction.reply({ embeds: [embed], ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
return interaction.reply({
|
||||
embeds: [embed],
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET reputation = reputation - 3, embed = ? WHERE guildId = ? AND userId = ?`, [value, message.guild.id, message.author.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation - 3, embed = ? WHERE guildId = ? AND userId = ?`,
|
||||
[value, message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) return console.error(err);
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔵 Embed')
|
||||
.setDescription(`✅ Vous avez acheté la couleur ${value} pour vos embeds.`)
|
||||
.setTitle("🔵 Embed")
|
||||
.setDescription(
|
||||
`✅ Vous avez acheté la couleur ${value} pour vos embeds.`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
collector.on('end', async () => {
|
||||
collector.on("end", async () => {
|
||||
embedMessage.edit({ components: [] });
|
||||
});
|
||||
},
|
||||
|
||||
+121
-55
@@ -1,124 +1,190 @@
|
||||
const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ActionRowBuilder,
|
||||
StringSelectMenuBuilder,
|
||||
StringSelectMenuOptionBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['shop', 'magasin', 'boutique', 'store'],
|
||||
description: 'Affiche le shop du bot.',
|
||||
emote: '🛍️',
|
||||
utilisation: '',
|
||||
aliases: ["shop", "magasin", "boutique", "store"],
|
||||
description: "Affiche le shop du bot.",
|
||||
emote: "🛍️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setTitle("🛍️ Shop")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(`Sélectionnez un item à acheter. Voici les items disponibles :\n\n> 🔒 AntiRob - Protège contre les vols pendant 2 heures - Prix : 2000coins\n\n> 🗝️ Clef - Permet d'ouvrir une boite 100%gagante - Prix : 2500coins\n\n\n\n> 💰 25000 Coins - Prix : 1 reputation`)
|
||||
.setDescription(
|
||||
`Sélectionnez un item à acheter. Voici les items disponibles :\n\n> 🔒 AntiRob - Protège contre les vols pendant 2 heures - Prix : 2000coins\n\n> 🗝️ Clef - Permet d'ouvrir une boite 100%gagante - Prix : 2500coins\n\n\n\n> 💰 25000 Coins - Prix : 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(),
|
||||
});
|
||||
|
||||
const select = new StringSelectMenuBuilder()
|
||||
.setCustomId('shop')
|
||||
.setPlaceholder('Sélectionnez un item')
|
||||
.setCustomId("shop")
|
||||
.setPlaceholder("Sélectionnez un item")
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🔒 AntiRob')
|
||||
.setValue('antirob')
|
||||
.setDescription('Protège contre les vols pendant 2 heures')
|
||||
.setEmoji('🔒')
|
||||
.setLabel("🔒 AntiRob")
|
||||
.setValue("antirob")
|
||||
.setDescription("Protège contre les vols pendant 2 heures")
|
||||
.setEmoji("🔒")
|
||||
.setDefault(false),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🗝️ Clef')
|
||||
.setValue('key')
|
||||
.setDescription('Permet d\'ouvrir une boite')
|
||||
.setEmoji('🗝️')
|
||||
.setLabel("🗝️ Clef")
|
||||
.setValue("key")
|
||||
.setDescription("Permet d'ouvrir une boite")
|
||||
.setEmoji("🗝️")
|
||||
.setDefault(false),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('💰 25000 Coins')
|
||||
.setValue('coins')
|
||||
.setDescription('Vous donne 25K de coins contre 1reputation')
|
||||
.setEmoji('💰')
|
||||
.setLabel("💰 25000 Coins")
|
||||
.setValue("coins")
|
||||
.setDescription("Vous donne 25K de coins contre 1reputation")
|
||||
.setEmoji("💰")
|
||||
.setDefault(false),
|
||||
);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(select);
|
||||
const row = new ActionRowBuilder().addComponents(select);
|
||||
|
||||
message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
client.on('interactionCreate', async (interaction) => {
|
||||
client.on("interactionCreate", async (interaction) => {
|
||||
if (!interaction.isStringSelectMenu()) return;
|
||||
|
||||
if (!interaction.customId === 'shop') return
|
||||
if (!interaction.customId === "shop") return;
|
||||
const selected = interaction.values[0];
|
||||
|
||||
if (selected === 'antirob') {
|
||||
if (selected === "antirob") {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.pocket < 2000) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'argent pour acheter cet item.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'argent pour acheter cet item.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket - 2000, antiRob = ? WHERE guildId = ? AND userId = ?`, [Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - 2000, antiRob = ? WHERE guildId = ? AND userId = ?`,
|
||||
[Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez acheté l'item 🔒 AntiRob pour 2000 coins !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez acheté l'item 🔒 AntiRob pour 2000 coins !`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
} else if (selected === 'key') {
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (selected === "key") {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.pocket < 2500) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'argent pour acheter cet item.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'argent pour acheter cet item.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket - 2500, key = key + 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - 2500, key = key + 1 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(`Vous avez acheté l'item 🗝️ clef pour 2500 coins !`)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
} else if (selected === 'coins') {
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (selected === "coins") {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.reputation < 1) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez de reputation pour acheter cet item.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content:
|
||||
"Vous n'avez pas assez de reputation pour acheter cet item.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket + 25000, reputation = reputation - 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + 25000, reputation = reputation - 1 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez acheté \`25000\`coins contre une reputation !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez acheté \`25000\`coins contre une 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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
+134
-72
@@ -1,124 +1,186 @@
|
||||
const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ActionRowBuilder,
|
||||
StringSelectMenuBuilder,
|
||||
StringSelectMenuOptionBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['tshop', 'tmagasin', 'tboutique', 'tstore', 'teamshop', 'teammagasin', 'tboutique', 'teamstore'],
|
||||
description: 'Affiche le shop du bot.',
|
||||
emote: '🛍️',
|
||||
utilisation: '',
|
||||
aliases: [
|
||||
"tshop",
|
||||
"tmagasin",
|
||||
"tboutique",
|
||||
"tstore",
|
||||
"teamshop",
|
||||
"teammagasin",
|
||||
"tboutique",
|
||||
"teamstore",
|
||||
],
|
||||
description: "Affiche le shop du bot.",
|
||||
emote: "🛍️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 team = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, user.teamId], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE guildId = ? AND id = ?`,
|
||||
[message.guild.id, user.teamId],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setTitle("🛍️ Shop")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(`Sélectionnez un item à acheter POUR VOTRE TEAM, les items sont cummulable, vous gagner déjà ${team.location}coins/min. Voici les items disponibles :\n\n> 🏢 Appartement - Achete un appartement et le met en location, rapporte \`70coins/min\`\nPrix : \`100000\`coins\n\n> 🏠 Maison - Achete une petite maison et la met en location, rapporte \`75coins/min\`\nPrix : \`110000\`coins\n\n> 🏠 Grande maison - Achete une grande maison et la met en location, rapporte \`125coins/min\`\nPrix : \`150000\`coins\n\n> 💎 Villa - Achete une petite maison et la met en location, rapporte \`250coins/min\`\nPrix : \`250000\`coins\n\n> 🏝️ Île - Achete une île et la met en location, rapporte \`2500coins/min\`\nPrix : \`500000\`coins`)
|
||||
.setDescription(
|
||||
`Sélectionnez un item à acheter POUR VOTRE TEAM, les items sont cummulable, vous gagner déjà ${team.location}coins/min. Voici les items disponibles :\n\n> 🏢 Appartement - Achete un appartement et le met en location, rapporte \`70coins/min\`\nPrix : \`100000\`coins\n\n> 🏠 Maison - Achete une petite maison et la met en location, rapporte \`75coins/min\`\nPrix : \`110000\`coins\n\n> 🏠 Grande maison - Achete une grande maison et la met en location, rapporte \`125coins/min\`\nPrix : \`150000\`coins\n\n> 💎 Villa - Achete une petite maison et la met en location, rapporte \`250coins/min\`\nPrix : \`250000\`coins\n\n> 🏝️ Île - Achete une île et la met en location, rapporte \`2500coins/min\`\nPrix : \`500000\`coins`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const select = new StringSelectMenuBuilder()
|
||||
.setCustomId('shop')
|
||||
.setPlaceholder('Sélectionnez un item')
|
||||
.setCustomId("shop")
|
||||
.setPlaceholder("Sélectionnez un item")
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🏢 Appartement')
|
||||
.setValue('appartement')
|
||||
.setDescription('Achete un appartement et le met en location, rapporte 70coins/min')
|
||||
.setEmoji('🏢')
|
||||
.setLabel("🏢 Appartement")
|
||||
.setValue("appartement")
|
||||
.setDescription(
|
||||
"Achete un appartement et le met en location, rapporte 70coins/min",
|
||||
)
|
||||
.setEmoji("🏢")
|
||||
.setDefault(false),
|
||||
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🏠 Maison')
|
||||
.setValue('maison')
|
||||
.setDescription('Achete une petite maison et la met en location, rapporte 75coins/min')
|
||||
.setEmoji('🏠')
|
||||
.setLabel("🏠 Maison")
|
||||
.setValue("maison")
|
||||
.setDescription(
|
||||
"Achete une petite maison et la met en location, rapporte 75coins/min",
|
||||
)
|
||||
.setEmoji("🏠")
|
||||
.setDefault(false),
|
||||
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🏠 Grande maison')
|
||||
.setValue('maison2')
|
||||
.setDescription('Achete une grande maison et la met en location, rapporte 120coins/min')
|
||||
.setEmoji('🏠')
|
||||
.setLabel("🏠 Grande maison")
|
||||
.setValue("maison2")
|
||||
.setDescription(
|
||||
"Achete une grande maison et la met en location, rapporte 120coins/min",
|
||||
)
|
||||
.setEmoji("🏠")
|
||||
.setDefault(false),
|
||||
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('💎 Villa')
|
||||
.setValue('villa')
|
||||
.setDescription('Achete une villa et la met en location, rapporte 250coins/min')
|
||||
.setEmoji('💎')
|
||||
.setLabel("💎 Villa")
|
||||
.setValue("villa")
|
||||
.setDescription(
|
||||
"Achete une villa et la met en location, rapporte 250coins/min",
|
||||
)
|
||||
.setEmoji("💎")
|
||||
.setDefault(false),
|
||||
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🏝️ Île')
|
||||
.setValue('ile')
|
||||
.setDescription('Achete une île et la met en location, rapporte 2500coins/min')
|
||||
.setEmoji('🏝️')
|
||||
.setLabel("🏝️ Île")
|
||||
.setValue("ile")
|
||||
.setDescription(
|
||||
"Achete une île et la met en location, rapporte 2500coins/min",
|
||||
)
|
||||
.setEmoji("🏝️")
|
||||
.setDefault(false),
|
||||
);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(select);
|
||||
const row = new ActionRowBuilder().addComponents(select);
|
||||
|
||||
message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
client.on('interactionCreate', async (interaction) => {
|
||||
client.on("interactionCreate", async (interaction) => {
|
||||
if (!interaction.isStringSelectMenu()) return;
|
||||
if (!interaction.customId === 'shop') return
|
||||
if (!interaction.customId === "shop") return;
|
||||
const selected = interaction.values[0];
|
||||
|
||||
let coup = ''
|
||||
let item = ''
|
||||
let win = ''
|
||||
if (selected === 'appartement') {
|
||||
coup = '100000'
|
||||
item = 'appartement'
|
||||
win = '70'
|
||||
} else if (selected === 'maison') {
|
||||
coup = '110000'
|
||||
item = 'maison'
|
||||
win = '75'
|
||||
} else if (selected === 'maison2') {
|
||||
coup = '150000'
|
||||
item = 'grande maison'
|
||||
win = '120'
|
||||
} else if (selected === 'villa') {
|
||||
coup = '250000'
|
||||
item = 'villa'
|
||||
win = '250'
|
||||
} else if (selected === 'ile') {
|
||||
coup = '500000'
|
||||
item = 'île'
|
||||
win = '2500'
|
||||
let coup = "";
|
||||
let item = "";
|
||||
let win = "";
|
||||
if (selected === "appartement") {
|
||||
coup = "100000";
|
||||
item = "appartement";
|
||||
win = "70";
|
||||
} else if (selected === "maison") {
|
||||
coup = "110000";
|
||||
item = "maison";
|
||||
win = "75";
|
||||
} else if (selected === "maison2") {
|
||||
coup = "150000";
|
||||
item = "grande maison";
|
||||
win = "120";
|
||||
} else if (selected === "villa") {
|
||||
coup = "250000";
|
||||
item = "villa";
|
||||
win = "250";
|
||||
} else if (selected === "ile") {
|
||||
coup = "500000";
|
||||
item = "île";
|
||||
win = "2500";
|
||||
}
|
||||
|
||||
if (user.teamRole !== 'officier' || user.teamRole !== 'officer') return interaction.reply({ content: 'Vous n\'avez pas les permissions pour faire cet achat', ephemeral: true });
|
||||
if (team.bank < coup) return interaction.reply({ content: 'Vous n\'avez pas assez d\'argent pour acheter cet item.', ephemeral: true });
|
||||
if (user.teamRole !== "officier" || user.teamRole !== "officer")
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas les permissions pour faire cet achat",
|
||||
ephemeral: true,
|
||||
});
|
||||
if (team.bank < coup)
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'argent pour acheter cet item.",
|
||||
ephemeral: true,
|
||||
});
|
||||
|
||||
db.run(`UPDATE teams SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [coup, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE teams SET location = location + ? WHERE guildId = ? AND userId = ?`, [win, message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE teams SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`,
|
||||
[coup, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE teams SET location = location + ? WHERE guildId = ? AND userId = ?`,
|
||||
[win, message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez acheté l'item ${item} pour \`${coup}\`coins !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez acheté l'item ${item} pour \`${coup}\`coins !`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,36 +1,47 @@
|
||||
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: ['bl', 'addbl'],
|
||||
description: 'Met un utilisateur comme blacklist (sur ce serveur).',
|
||||
emote: '🛡️',
|
||||
utilisation: '<@membre>',
|
||||
aliases: ["bl", "addbl"],
|
||||
description: "Met un utilisateur comme blacklist (sur ce serveur).",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@membre>",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
const member = message.mentions.users.first();
|
||||
if (!member) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Blacklist :')
|
||||
.setTitle("Blacklist :")
|
||||
.setDescription(`**Veuillez mentionner un membre valide**`)
|
||||
.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 blacklist = true WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(
|
||||
`UPDATE users SET blacklist = true WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Blacklist :')
|
||||
.setTitle("Blacklist :")
|
||||
.setDescription(`**<@${member.id}> est maintement blacklist !**`)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
@@ -1,36 +1,47 @@
|
||||
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: ['unbl', 'removebl'],
|
||||
description: 'Met un utilisateur comme non-blacklist (sur ce serveur).',
|
||||
emote: '🛡️',
|
||||
utilisation: '<@membre>',
|
||||
aliases: ["unbl", "removebl"],
|
||||
description: "Met un utilisateur comme non-blacklist (sur ce serveur).",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@membre>",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
const member = message.mentions.users.first();
|
||||
if (!member) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Un-blacklist :')
|
||||
.setTitle("Un-blacklist :")
|
||||
.setDescription(`**Veuillez mentionner un membre valide**`)
|
||||
.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 blacklist = false WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(
|
||||
`UPDATE users SET blacklist = false WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Un-blacklist :')
|
||||
.setTitle("Un-blacklist :")
|
||||
.setDescription(`**<@${member.id}> est maintement un-blacklist !**`)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+174
-74
@@ -1,28 +1,39 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const getPrefix = require('../../fonctions/getPrefix.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const getPrefix = require("../../fonctions/getPrefix.js");
|
||||
|
||||
function commandsList(client, category, prefix) {
|
||||
const casinoCommands = client.commands.filter(command => command.category === category).sort((a, b) => a.name.localeCompare(b.name));
|
||||
const casinoCommands = client.commands
|
||||
.filter((command) => command.category === category)
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
const uniqueCommands = new Map();
|
||||
|
||||
casinoCommands.forEach(command => {
|
||||
uniqueCommands.set(command.name, { description: command.description, emote: command.emote, utilisation: command.utilisation });
|
||||
casinoCommands.forEach((command) => {
|
||||
uniqueCommands.set(command.name, {
|
||||
description: command.description,
|
||||
emote: command.emote,
|
||||
utilisation: command.utilisation,
|
||||
});
|
||||
});
|
||||
|
||||
let commandsList = '';
|
||||
let commandsList = "";
|
||||
uniqueCommands.forEach((command, name) => {
|
||||
commandsList += `> ${command.emote} \`${prefix}${name}${command.utilisation ? ' ' + command.utilisation : ''}\`\n> ┖ ${command.description}\n\n`;
|
||||
commandsList += `> ${command.emote} \`${prefix}${name}${command.utilisation ? " " + command.utilisation : ""}\`\n> ┖ ${command.description}\n\n`;
|
||||
});
|
||||
|
||||
return commandsList;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
aliases: ['', 'h', 'aide'],
|
||||
description: 'Affiche la liste des commandes disponibles',
|
||||
emote: '📚',
|
||||
utilisation: '[commande]',
|
||||
aliases: ["", "h", "aide"],
|
||||
description: "Affiche la liste des commandes disponibles",
|
||||
emote: "📚",
|
||||
utilisation: "[commande]",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -33,57 +44,81 @@ module.exports = {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle(`📚・${command.name}`)
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(`> **Description :** ${command.description}\n> **Utilisation :** \`${prefix}${command.name}${command.utilisation ? ' ' + command.utilisation : ''}\`\n> **Alias :** ${command.aliases.join(', ') || 'Aucun'}\n> **Permission :** ${command.permission}\n> **Catégorie :** ${command.category}\n> **Emote :** ${command.emote}`)
|
||||
.setDescription(
|
||||
`> **Description :** ${command.description}\n> **Utilisation :** \`${prefix}${command.name}${command.utilisation ? " " + command.utilisation : ""}\`\n> **Alias :** ${command.aliases.join(", ") || "Aucun"}\n> **Permission :** ${command.permission}\n> **Catégorie :** ${command.category}\n> **Emote :** ${command.emote}`,
|
||||
)
|
||||
.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 } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
if (args[0]) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('❌・Commande inconnue')
|
||||
.setDescription('La commande que vous avez demandée n\'existe pas. Nous vous invitons à vérifier l\'orthographe dans le help si dessous et à réessayer.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("❌・Commande inconnue")
|
||||
.setDescription(
|
||||
"La commande que vous avez demandée n'existe pas. Nous vous invitons à vérifier l'orthographe dans le help si dessous et à réessayer.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id));
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
const prefix = await getPrefix(message.guild.id);
|
||||
const embedPage1 = new EmbedBuilder()
|
||||
.setTitle('📚 ・Information')
|
||||
.setTitle("📚 ・Information")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(`Voici le panel d'aide du bot. Pour plus d'informations sur une commande, utilisez ${prefix}help <commande>\n\n> **🎙️ Récompenses vocales :**\n> Vous gagnez \`100\` coins toutes les \`15\`minutes lorsque vous êtes en vocal (**NON MUTE** sinon c'est \`50\`coins).\n \n> **📺 Récompenses de streaming :**\n> Activer un stream vous fera gagner \`200\`.\n \n> **📷 Récompenses de caméra :**\n> Activer votre caméra vous fera gagner \`200\`.\n\n> Le coins est une monnaie fictive.`)
|
||||
.setDescription(
|
||||
`Voici le panel d'aide du bot. Pour plus d'informations sur une commande, utilisez ${prefix}help <commande>\n\n> **🎙️ Récompenses vocales :**\n> Vous gagnez \`100\` coins toutes les \`15\`minutes lorsque vous êtes en vocal (**NON MUTE** sinon c'est \`50\`coins).\n \n> **📺 Récompenses de streaming :**\n> Activer un stream vous fera gagner \`200\`.\n \n> **📷 Récompenses de caméra :**\n> Activer votre caméra vous fera gagner \`200\`.\n\n> Le coins est une monnaie fictive.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 1/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 1/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const leftButton = new ButtonBuilder()
|
||||
.setCustomId('left')
|
||||
.setLabel('◀')
|
||||
.setCustomId("left")
|
||||
.setLabel("◀")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const rightButton = new ButtonBuilder()
|
||||
.setCustomId('right')
|
||||
.setLabel('▶')
|
||||
.setCustomId("right")
|
||||
.setLabel("▶")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(leftButton, rightButton);
|
||||
const row = new ActionRowBuilder().addComponents(leftButton, rightButton);
|
||||
|
||||
let messageEmbed;
|
||||
messageEmbed = await message.reply({ embeds: [embedPage1], components: [row], allowedMentions: { repliedUser: false } });
|
||||
messageEmbed = await message.reply({
|
||||
embeds: [embedPage1],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = i => i.user.id === message.author.id;
|
||||
const collector = message.channel.createMessageComponentCollector({ filter, time: 120000 });
|
||||
const filter = (i) => i.user.id === message.author.id;
|
||||
const collector = message.channel.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 120000,
|
||||
});
|
||||
|
||||
let page = 1;
|
||||
collector.on('collect', async i => {
|
||||
if (i.customId === 'left') {
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.customId === "left") {
|
||||
page--;
|
||||
if (page < 1) page = 10;
|
||||
} else if (i.customId === 'right') {
|
||||
} else if (i.customId === "right") {
|
||||
page++;
|
||||
if (page > 10) page = 1;
|
||||
}
|
||||
@@ -92,100 +127,165 @@ module.exports = {
|
||||
i.update({ embeds: [embedPage1], components: [row] });
|
||||
} else if (page === 2) {
|
||||
const embedPage2 = new EmbedBuilder()
|
||||
.setTitle('💰・Casino')
|
||||
.setTitle("💰・Casino")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'casino', prefix))
|
||||
.setDescription(commandsList(client, "casino", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 2/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 2/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage2], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage2],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 3) {
|
||||
const embedPage3 = new EmbedBuilder()
|
||||
.setTitle('🎲・Jeux')
|
||||
.setTitle("🎲・Jeux")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'jeux', prefix))
|
||||
.setDescription(commandsList(client, "jeux", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 3/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 3/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage3], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage3],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 4) {
|
||||
const embedPage4 = new EmbedBuilder()
|
||||
.setTitle('🛍️・Achats')
|
||||
.setTitle("🛍️・Achats")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'achats', prefix))
|
||||
.setDescription(commandsList(client, "achats", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 4/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 4/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage4], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage4],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 5) {
|
||||
const embedPage5 = new EmbedBuilder()
|
||||
.setTitle('🏭・Metier et capacité')
|
||||
.setTitle("🏭・Metier et capacité")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'jobs', prefix))
|
||||
.setDescription(commandsList(client, "jobs", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 5/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 5/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage5], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage5],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 6) {
|
||||
const embedPage6 = new EmbedBuilder()
|
||||
.setTitle('💼・Teams')
|
||||
.setTitle("💼・Teams")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'teams', prefix))
|
||||
.setDescription(commandsList(client, "teams", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 6/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 6/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage6], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage6],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 7) {
|
||||
const embedPage7 = new EmbedBuilder()
|
||||
.setTitle('🛡️・Teams administration')
|
||||
.setTitle("🛡️・Teams administration")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'teams admin', prefix))
|
||||
.setDescription(commandsList(client, "teams admin", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 7/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 7/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage7], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage7],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 8) {
|
||||
const embedPage8 = new EmbedBuilder()
|
||||
.setTitle('🤝・Alliance')
|
||||
.setTitle("🤝・Alliance")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'Alliance', prefix))
|
||||
.setDescription(commandsList(client, "Alliance", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 8/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 8/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage8], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage8],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 9) {
|
||||
const embedPage9 = new EmbedBuilder()
|
||||
.setTitle('👑・Gestion')
|
||||
.setTitle("👑・Gestion")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'gestion', prefix))
|
||||
.setDescription(commandsList(client, "gestion", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 9/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 9/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage9], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage9],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (page === 10) {
|
||||
const embedPage10 = new EmbedBuilder()
|
||||
.setTitle('👑・Bot control')
|
||||
.setTitle("👑・Bot control")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(commandsList(client, 'bot control', prefix))
|
||||
.setDescription(commandsList(client, "bot control", prefix))
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Page 10/10 | Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Page 10/10 | Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
i.update({ embeds: [embedPage10], components: [row], allowedMentions: { repliedUser: false } });
|
||||
i.update({
|
||||
embeds: [embedPage10],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
messageEmbed.edit({ components: [], allowedMentions: { repliedUser: false } })
|
||||
collector.on("end", () => {
|
||||
messageEmbed.edit({
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,40 +1,49 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['latence'],
|
||||
description: 'Avoir la latence du bot.',
|
||||
emote: '⏱️',
|
||||
utilisation: '',
|
||||
aliases: ["latence"],
|
||||
description: "Avoir la latence du bot.",
|
||||
emote: "⏱️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const ping = new ButtonBuilder()
|
||||
.setCustomId('confirm')
|
||||
.setLabel('🔄')
|
||||
.setCustomId("confirm")
|
||||
.setLabel("🔄")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(ping);
|
||||
const row = new ActionRowBuilder().addComponents(ping);
|
||||
const sentMessage = await message.reply({
|
||||
content: `La latence est de : ${client.ws.ping}`,
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
|
||||
const filter = i => i.customId === 'confirm' && i.user.id === message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 15000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
const filter = (i) =>
|
||||
i.customId === "confirm" && i.user.id === message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 15000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
sentMessage.edit({
|
||||
content: `La latence est de : ${client.ws.ping}`,
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
interaction.reply({ content: 'La latence a été rafraichie', ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
interaction.reply({
|
||||
content: "La latence a été rafraichie",
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
sentMessage.edit({ components: [], allowedMentions: { repliedUser: false } });
|
||||
collector.on("end", () => {
|
||||
sentMessage.edit({
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
+10
-10
@@ -1,18 +1,18 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['dire', 'envoyer', 'send'],
|
||||
description: 'Permet de dire un message sous le noms du bot',
|
||||
emote: '💬',
|
||||
utilisation: '<message>',
|
||||
aliases: ["dire", "envoyer", "send"],
|
||||
description: "Permet de dire un message sous le noms du bot",
|
||||
emote: "💬",
|
||||
utilisation: "<message>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
message.delete()
|
||||
let msg = ""
|
||||
message.delete();
|
||||
let msg = "";
|
||||
for (let i = 0; i < args.length; i++) {
|
||||
msg += args[i] + ' '
|
||||
}
|
||||
message.channel.send(msg)
|
||||
msg += args[i] + " ";
|
||||
}
|
||||
message.channel.send(msg);
|
||||
},
|
||||
};
|
||||
@@ -1,53 +1,57 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['morse'],
|
||||
description: 'Permet de dire un message sous le noms du bot',
|
||||
emote: '💬',
|
||||
utilisation: '<message>',
|
||||
aliases: ["morse"],
|
||||
description: "Permet de dire un message sous le noms du bot",
|
||||
emote: "💬",
|
||||
utilisation: "<message>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
message.delete()
|
||||
message.delete();
|
||||
const morseCode = {
|
||||
"A": ".- ",
|
||||
"B": "-... ",
|
||||
"C": "-.-. ",
|
||||
"D": "-.. ",
|
||||
"E": ". ",
|
||||
"F": "..-. ",
|
||||
"G": "--. ",
|
||||
"H": ".... ",
|
||||
"I": ".. ",
|
||||
"J": ".--- ",
|
||||
"K": "-.- ",
|
||||
"L": ".-.. ",
|
||||
"M": "-- ",
|
||||
"N": "-. ",
|
||||
"O": "--- ",
|
||||
"P": ".--. ",
|
||||
"Q": "--.- ",
|
||||
"R": ".-. ",
|
||||
"S": "... ",
|
||||
"T": "- ",
|
||||
"U": "..- ",
|
||||
"V": "...- ",
|
||||
"W": ".-- ",
|
||||
"X": "-..- ",
|
||||
"Y": "-.-- ",
|
||||
"Z": "--.. ",
|
||||
" ": " "
|
||||
A: ".- ",
|
||||
B: "-... ",
|
||||
C: "-.-. ",
|
||||
D: "-.. ",
|
||||
E: ". ",
|
||||
F: "..-. ",
|
||||
G: "--. ",
|
||||
H: ".... ",
|
||||
I: ".. ",
|
||||
J: ".--- ",
|
||||
K: "-.- ",
|
||||
L: ".-.. ",
|
||||
M: "-- ",
|
||||
N: "-. ",
|
||||
O: "--- ",
|
||||
P: ".--. ",
|
||||
Q: "--.- ",
|
||||
R: ".-. ",
|
||||
S: "... ",
|
||||
T: "- ",
|
||||
U: "..- ",
|
||||
V: "...- ",
|
||||
W: ".-- ",
|
||||
X: "-..- ",
|
||||
Y: "-.-- ",
|
||||
Z: "--.. ",
|
||||
" ": " ",
|
||||
};
|
||||
|
||||
const convertToMorse = (str) => {
|
||||
return str.toUpperCase().split("").map(el => {
|
||||
return str
|
||||
.toUpperCase()
|
||||
.split("")
|
||||
.map((el) => {
|
||||
return morseCode[el] ? morseCode[el] : el;
|
||||
}).join("");
|
||||
})
|
||||
.join("");
|
||||
};
|
||||
|
||||
let msg = message.content
|
||||
msg = msg.replace('&morse ', '')
|
||||
msg = msg.replace('&saymorse ', '')
|
||||
message.channel.send(convertToMorse(msg))
|
||||
}
|
||||
let msg = message.content;
|
||||
msg = msg.replace("&morse ", "");
|
||||
msg = msg.replace("&saymorse ", "");
|
||||
message.channel.send(convertToMorse(msg));
|
||||
},
|
||||
};
|
||||
@@ -1,14 +1,14 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['unmorse'],
|
||||
description: 'Permet de dire un message sous le noms du bot',
|
||||
emote: '💬',
|
||||
utilisation: '<message>',
|
||||
aliases: ["unmorse"],
|
||||
description: "Permet de dire un message sous le noms du bot",
|
||||
emote: "💬",
|
||||
utilisation: "<message>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
message.delete()
|
||||
message.delete();
|
||||
const morseCode = {
|
||||
".-": "A",
|
||||
"-...": "B",
|
||||
@@ -36,18 +36,21 @@ module.exports = {
|
||||
"-..-": "X",
|
||||
"-.--": "Y",
|
||||
"--..": "Z",
|
||||
" ": " "
|
||||
" ": " ",
|
||||
};
|
||||
|
||||
const convertFromMorse = (str) => {
|
||||
return str.split(" ").map(el => {
|
||||
return str
|
||||
.split(" ")
|
||||
.map((el) => {
|
||||
return morseCode[el] ? morseCode[el] : el;
|
||||
}).join("");
|
||||
})
|
||||
.join("");
|
||||
};
|
||||
|
||||
let msg = message.content
|
||||
msg = msg.replace('&unmorse ', '')
|
||||
msg = msg.replace('&sayunmorse ', '')
|
||||
message.channel.send(convertFromMorse(msg))
|
||||
}
|
||||
let msg = message.content;
|
||||
msg = msg.replace("&unmorse ", "");
|
||||
msg = msg.replace("&sayunmorse ", "");
|
||||
message.channel.send(convertFromMorse(msg));
|
||||
},
|
||||
};
|
||||
@@ -1,47 +1,66 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['srvs'],
|
||||
description: 'Affiche la liste des serveurs où le bot est présent',
|
||||
emote: '🌐',
|
||||
utilisation: '',
|
||||
aliases: ["srvs"],
|
||||
description: "Affiche la liste des serveurs où le bot est présent",
|
||||
emote: "🌐",
|
||||
utilisation: "",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Liste des serveurs')
|
||||
.setDescription(client.guilds.cache.map(guild => `${guild.name} (ID: ${guild.id})`).join('\n'))
|
||||
.setTitle("Liste des serveurs")
|
||||
.setDescription(
|
||||
client.guilds.cache
|
||||
.map((guild) => `${guild.name} (ID: ${guild.id})`)
|
||||
.join("\n"),
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id));
|
||||
|
||||
const ping = new ButtonBuilder()
|
||||
.setCustomId('confirm')
|
||||
.setLabel('🔄')
|
||||
.setCustomId("confirm")
|
||||
.setLabel("🔄")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(ping);
|
||||
const row = new ActionRowBuilder().addComponents(ping);
|
||||
|
||||
const sentMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = i => i.customId === 'confirm' && i.user.id === message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 60000 });
|
||||
const filter = (i) =>
|
||||
i.customId === "confirm" && i.user.id === message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
|
||||
collector.on('collect', async (interaction) => {
|
||||
embed.setDescription(client.guilds.cache.map(guild => `${guild.name} (ID: ${guild.id})`).join('\n'));
|
||||
collector.on("collect", async (interaction) => {
|
||||
embed.setDescription(
|
||||
client.guilds.cache
|
||||
.map((guild) => `${guild.name} (ID: ${guild.id})`)
|
||||
.join("\n"),
|
||||
);
|
||||
sentMessage.edit({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
});
|
||||
interaction.reply({ content: 'La liste des serveurs a été rafraichie', ephemeral: true });
|
||||
interaction.reply({
|
||||
content: "La liste des serveurs a été rafraichie",
|
||||
ephemeral: true,
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
collector.on("end", () => {
|
||||
sentMessage.edit({ components: [] });
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,11 +1,16 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['upt'],
|
||||
description: 'Affiche depuis combien de temps le bot est en ligne.',
|
||||
emote: '⏱️',
|
||||
utilisation: '',
|
||||
aliases: ["upt"],
|
||||
description: "Affiche depuis combien de temps le bot est en ligne.",
|
||||
emote: "⏱️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,12 +19,17 @@ module.exports = {
|
||||
const hours = Math.floor((uptime / 3600000) % 24);
|
||||
const minutes = Math.floor((uptime / 60000) % 60);
|
||||
const seconds = Math.floor((uptime / 1000) % 60);
|
||||
const ms = Math.floor(uptime % 1000)
|
||||
const ms = Math.floor(uptime % 1000);
|
||||
const embedUptime = new EmbedBuilder()
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("Uptime :")
|
||||
.setDescription(`**Je suis en ligne depuis :**\n**🤖 \`${days}\` jour(s), \`${hours}\` heure(s), \`${minutes}\` minute(s), \`${seconds}\` seconde(s) et \`${ms}\` milisecondes. 🤖**`)
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
message.channel.send({ embeds: [embedUptime] })
|
||||
}
|
||||
.setDescription(
|
||||
`**Je suis en ligne depuis :**\n**🤖 \`${days}\` jour(s), \`${hours}\` heure(s), \`${minutes}\` minute(s), \`${seconds}\` seconde(s) et \`${ms}\` milisecondes. 🤖**`,
|
||||
)
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
message.channel.send({ embeds: [embedUptime] });
|
||||
},
|
||||
};
|
||||
+36
-20
@@ -1,37 +1,52 @@
|
||||
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: ['dy'],
|
||||
description: 'Récupère une grosse somme de coins chaque jour. ',
|
||||
emote: '🎁',
|
||||
utilisation: '',
|
||||
aliases: ["dy"],
|
||||
description: "Récupère une grosse somme de coins chaque jour. ",
|
||||
emote: "🎁",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 lastDaily = user.lastDaily
|
||||
const pocket = user.pocket
|
||||
const lastDaily = user.lastDaily;
|
||||
const pocket = user.pocket;
|
||||
|
||||
if (lastDaily > Date.now() - 86400000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Argent Impossible')
|
||||
.setDescription(`❌ Vous avez déjà récupèré votre argent quotidien récemment. Veuillez attendre \`${Math.floor((lastDaily + 86400000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à nouveau.`)
|
||||
.setTitle("Argent Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà récupèré votre argent quotidien récemment. Veuillez attendre \`${Math.floor((lastDaily + 86400000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
const randomAmount = Math.floor(Math.random() * (1000 - 500 + 1)) + 500;
|
||||
db.run(`UPDATE users SET pocket = ?, lastDaily = ? WHERE guildId = ? AND userId = ?`, [pocket + randomAmount, Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, lastDaily = ? WHERE guildId = ? AND userId = ?`,
|
||||
[pocket + randomAmount, Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const dailys = [
|
||||
`🌅 Vous vous êtes réveillé tôt ce matin et avez trouvé \`${randomAmount}\` coins sous votre oreiller.`,
|
||||
@@ -56,14 +71,15 @@ module.exports = {
|
||||
`💻 Vous avez commencé votre journée de travail avec détermination et avez trouvé \`${randomAmount}\` coins cachés dans votre boîte de réception.`,
|
||||
];
|
||||
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Argent Récupéré')
|
||||
.setTitle("Argent Récupéré")
|
||||
.setDescription(dailys[Math.floor(Math.random() * dailys.length)])
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+47
-27
@@ -1,49 +1,66 @@
|
||||
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: ['dep', 'depot'],
|
||||
description: 'Dépose vos coins dans votre compte en banque.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant|all>',
|
||||
aliases: ["dep", "depot"],
|
||||
description: "Dépose vos coins dans votre compte en banque.",
|
||||
emote: "💰",
|
||||
utilisation: "<montant|all>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 pocket = user.pocket
|
||||
const bank = user.bank
|
||||
const pocket = user.pocket;
|
||||
const bank = user.bank;
|
||||
|
||||
let title = 'Dépôt Impossible'
|
||||
let description = ''
|
||||
let title = "Dépôt Impossible";
|
||||
let description = "";
|
||||
|
||||
if (args.length === 0) {
|
||||
description = '❌ Vous devez spécifier un montant à déposer.'
|
||||
} else if (args[0] === 'all') {
|
||||
description = "❌ Vous devez spécifier un montant à déposer.";
|
||||
} else if (args[0] === "all") {
|
||||
if (pocket <= 0) {
|
||||
description = '❌ Vous n\'avez pas d\'argent à déposer.'
|
||||
description = "❌ Vous n'avez pas d'argent à déposer.";
|
||||
} else {
|
||||
title = 'Dépôt Réussi'
|
||||
description = `💰 Vous avez déposé \`${pocket}\` coins dans votre compte en banque.`
|
||||
db.run(`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`, [0, pocket + bank, message.guild.id, message.author.id]);
|
||||
title = "Dépôt Réussi";
|
||||
description = `💰 Vous avez déposé \`${pocket}\` coins dans votre compte en banque.`;
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`,
|
||||
[0, pocket + bank, message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
} else if (isNaN(args[0])) {
|
||||
description = '❌ Vous devez spécifier un montant valide à déposer.'
|
||||
description = "❌ Vous devez spécifier un montant valide à déposer.";
|
||||
} else if (pocket <= 0) {
|
||||
description = '❌ Vous n\'avez pas d\'argent à déposer.'
|
||||
description = "❌ Vous n'avez pas d'argent à déposer.";
|
||||
} else if (parseInt(args[0]) > pocket) {
|
||||
description = '❌ Vous n\'avez pas assez d\'argent pour déposer cette somme.'
|
||||
description =
|
||||
"❌ Vous n'avez pas assez d'argent pour déposer cette somme.";
|
||||
} else if (parseInt(args[0]) <= 0) {
|
||||
description = '❌ Vous ne pouvez pas deposer une somme négative ou nulle.';
|
||||
description =
|
||||
"❌ Vous ne pouvez pas deposer une somme négative ou nulle.";
|
||||
} else {
|
||||
title = 'Dépôt Réussi'
|
||||
description = `💰 Vous avez déposé ${args[0]} coins dans votre compte en banque.`
|
||||
db.run(`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`, [pocket - parseInt(args[0]), bank + parseInt(args[0]), message.guild.id, message.author.id]);
|
||||
title = "Dépôt Réussi";
|
||||
description = `💰 Vous avez déposé ${args[0]} coins dans votre compte en banque.`;
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`,
|
||||
[
|
||||
pocket - parseInt(args[0]),
|
||||
bank + parseInt(args[0]),
|
||||
message.guild.id,
|
||||
message.author.id,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
@@ -51,7 +68,10 @@ module.exports = {
|
||||
.setDescription(description)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+45
-20
@@ -1,40 +1,65 @@
|
||||
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: ['coin', 'coins', 'money', 'balance', 'bal', 'wallet', 'cash', 'lvl', 'level', 'niv', 'niveau'],
|
||||
description: 'Affiche les coins du membre mentionné ou de l\'auteur du message.',
|
||||
emote: '💵',
|
||||
utilisation: '[@membre]',
|
||||
aliases: [
|
||||
"coin",
|
||||
"coins",
|
||||
"money",
|
||||
"balance",
|
||||
"bal",
|
||||
"wallet",
|
||||
"cash",
|
||||
"lvl",
|
||||
"level",
|
||||
"niv",
|
||||
"niveau",
|
||||
],
|
||||
description:
|
||||
"Affiche les coins du membre mentionné ou de l'auteur du message.",
|
||||
emote: "💵",
|
||||
utilisation: "[@membre]",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.members.first() || message.member;
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
const pocket = Math.round(user.pocket)
|
||||
const bank = Math.round(user.bank)
|
||||
const reputation = user.reputation
|
||||
const niveau = user.lvl
|
||||
const xp = user.xp
|
||||
const tdrop = Math.round(user.tdroper)
|
||||
const pocket = Math.round(user.pocket);
|
||||
const bank = Math.round(user.bank);
|
||||
const reputation = user.reputation;
|
||||
const niveau = user.lvl;
|
||||
const xp = user.xp;
|
||||
const tdrop = Math.round(user.tdroper);
|
||||
|
||||
let anti_rob = ``
|
||||
let anti_rob = ``;
|
||||
if (user.antiRob + 7200000 > Date.now()) {
|
||||
anti_rob = `\n> :shield: **Anti-Rob:** \`${Math.floor((user.antiRob + 7200000 - Date.now()) / 60000)}\` minutes.`
|
||||
anti_rob = `\n> :shield: **Anti-Rob:** \`${Math.floor((user.antiRob + 7200000 - Date.now()) / 60000)}\` minutes.`;
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setAuthor({ name: `Détails du Compte de ${member.user.tag}`, iconURL: member.user.displayAvatarURL() })
|
||||
.setDescription(`> :moneybag: **Poche:** \`${pocket}\`\n> :bank: **Banque:** \`${bank}\`\n> :star2: **Réputation:** \`${reputation}\`\n\n> :bar_chart: **Niveau:** \`${niveau}\`\n> :small_orange_diamond: **Xp:** \`${xp}/${niveau*100}\`\n\nCoins donnés à une team: \`${tdrop}\`🎁`)
|
||||
.setAuthor({
|
||||
name: `Détails du Compte de ${member.user.tag}`,
|
||||
iconURL: member.user.displayAvatarURL(),
|
||||
})
|
||||
.setDescription(
|
||||
`> :moneybag: **Poche:** \`${pocket}\`\n> :bank: **Banque:** \`${bank}\`\n> :star2: **Réputation:** \`${reputation}\`\n\n> :bar_chart: **Niveau:** \`${niveau}\`\n> :small_orange_diamond: **Xp:** \`${xp}/${niveau * 100}\`\n\nCoins donnés à une team: \`${tdrop}\`🎁`,
|
||||
)
|
||||
.setColor(await embedColor(member.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
},
|
||||
|
||||
+86
-54
@@ -1,105 +1,137 @@
|
||||
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: [],
|
||||
description: 'Paye un membre de votre serveur.',
|
||||
emote: '💳',
|
||||
utilisation: '<montant> <@membre>',
|
||||
description: "Paye un membre de votre serveur.",
|
||||
emote: "💳",
|
||||
utilisation: "<montant> <@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let amount;
|
||||
const member = message.mentions.members.first();
|
||||
const color = await embedColor(message.author.id, message.guild.id)
|
||||
const footer = { text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }
|
||||
const color = await embedColor(message.author.id, message.guild.id);
|
||||
const footer = {
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
};
|
||||
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.pocket);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!member) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez mentionner un membre du serveur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez mentionner un membre du serveur.")
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (!args[0]) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un montant à payer.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un montant à payer.")
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
|
||||
} else if (args[0] === 'all') {
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] === "all") {
|
||||
amount = pocket;
|
||||
|
||||
} else if (isNaN(args[0])) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un montant valide.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un montant valide.")
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] <= 0) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un montant supérieur à \`0\`.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un montant supérieur à `0`.")
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] > pocket) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas assez d\'argent pour effectuer cette transaction.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas assez d'argent pour effectuer cette transaction.",
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (!Number.isInteger(Number(args[0]))) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un montant entier.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un montant entier.")
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
amount = args[0];
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, member.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, message.guild.id, member.id],
|
||||
);
|
||||
|
||||
message.reply({ embeds: [
|
||||
message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Paiement')
|
||||
.setDescription(`💰 Vous avez payé \`${amount}\` à ${member.user.tag}.`)
|
||||
.setTitle("Paiement")
|
||||
.setDescription(
|
||||
`💰 Vous avez payé \`${amount}\` à ${member.user.tag}.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
+37
-20
@@ -1,51 +1,68 @@
|
||||
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: ['recolt', 'recolte'],
|
||||
description: 'Recolter des objets que vous pourrez vendre ensuite.',
|
||||
emote: '💼',
|
||||
utilisation: '',
|
||||
aliases: ["recolt", "recolte"],
|
||||
description: "Recolter des objets que vous pourrez vendre ensuite.",
|
||||
emote: "💼",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 lastRecolt = user.lastRecolt
|
||||
const objet = user.objet
|
||||
const lastRecolt = user.lastRecolt;
|
||||
const objet = user.objet;
|
||||
|
||||
if (lastRecolt > Date.now() - 2700000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Recolte Impossible')
|
||||
.setDescription(`❌ La météo annonce une tempete... Veuillez attendre \`${Math.floor((lastRecolt + 2700000 - Date.now()) / 60000)}\` minutes avant de pouvoir recolter.`)
|
||||
.setTitle("Recolte Impossible")
|
||||
.setDescription(
|
||||
`❌ La météo annonce une tempete... Veuillez attendre \`${Math.floor((lastRecolt + 2700000 - Date.now()) / 60000)}\` minutes avant de pouvoir recolter.`,
|
||||
)
|
||||
.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 randomAmount = Math.floor(Math.random() * 2) + 1;
|
||||
db.run(`UPDATE users SET objet = ?, lastRecolt = ? WHERE guildId = ? AND userId = ?`, [objet + randomAmount, Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = ?, lastRecolt = ? WHERE guildId = ? AND userId = ?`,
|
||||
[objet + randomAmount, Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const recolts = [
|
||||
`🍒 Vous avez recolté des cerises sur ${randomAmount} arbre(s) dans votre jardin.`,
|
||||
`🌽 Vous avez recolté ${randomAmount} parcelle(s) de maïs et vous avez tout mis à l'abri.`,
|
||||
`🌳 Vous avez trouvé de quoi vous chauffer en vous promenant en foret, vous rentrer chez vous avec ${randomAmount} grosse(s) bûche(s) de bois.`
|
||||
`🌳 Vous avez trouvé de quoi vous chauffer en vous promenant en foret, vous rentrer chez vous avec ${randomAmount} grosse(s) bûche(s) de bois.`,
|
||||
];
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Objet recolter')
|
||||
.setTitle("Objet recolter")
|
||||
.setDescription(recolts[Math.floor(Math.random() * recolts.length)])
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+105
-47
@@ -1,92 +1,150 @@
|
||||
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: ['reputation'],
|
||||
aliases: ["reputation"],
|
||||
description: `Ajoute un point de reputation a un membre.`,
|
||||
emote: '➕',
|
||||
utilisation: '<membre-id|@membre>',
|
||||
emote: "➕",
|
||||
utilisation: "<membre-id|@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.members.first()?.id || args[0];
|
||||
if (args.length < 1 && !member) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un membre du serveur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un membre du serveur.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const lastRep = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.lastRep);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (lastRep > Date.now() - 7200000) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Ajout Impossible')
|
||||
.setDescription(`❌ Vous avez déjà ajouter une reputation récemment. Veuillez attendre ${Math.floor((lastRep + 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((lastRep + 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() })
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const userReputation = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, member], async (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member],
|
||||
async (err, row) => {
|
||||
if (err) reject(err);
|
||||
if (!row) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ L\'utilisateur spécifié n\'existe pas.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ L'utilisateur 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 } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
resolve(parseInt(row.reputation));
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (member === message.author.id) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous ne pouvez pas vous donner une réputation à vous-même.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Vous ne pouvez pas vous donner une réputation à vous-même.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET lastRep = ? WHERE guildId = ? AND userId = ?`, [Date.now(), message.guild.id, message.author.id], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
db.run(`UPDATE users SET reputation = reputation + 1 WHERE guildId = ? AND userId = ?`, [message.guild.id, member], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
});
|
||||
|
||||
message.reply({ embeds: [
|
||||
db.run(
|
||||
`UPDATE users SET lastRep = ? WHERE guildId = ? AND userId = ?`,
|
||||
[Date.now(), message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation + 1 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Reputation ajouté !')
|
||||
.setDescription('Vous avez ajouter une reputation à <@' + member + '>, qui a maintement `' + (userReputation + 1) + '` reputation !')
|
||||
.setTitle("Reputation ajouté !")
|
||||
.setDescription(
|
||||
"Vous avez ajouter une reputation à <@" +
|
||||
member +
|
||||
">, qui a maintement `" +
|
||||
(userReputation + 1) +
|
||||
"` reputation !",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
},
|
||||
};
|
||||
+94
-37
@@ -1,100 +1,157 @@
|
||||
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: [],
|
||||
description: 'Vole les coins de la main d\'un membre.',
|
||||
emote: '🦹',
|
||||
utilisation: '<@membre>',
|
||||
description: "Vole les coins de la main d'un membre.",
|
||||
emote: "🦹",
|
||||
utilisation: "<@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.users.first();
|
||||
if (!member) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous devez mentionner un membre.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous devez mentionner un membre.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.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 user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 memberlist = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId FROM users WHERE guildId = ? AND teamId = ?`, [message.guild.id, user.teamId], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId FROM users WHERE guildId = ? AND teamId = ?`,
|
||||
[message.guild.id, user.teamId],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (memberlist.includes(member)) return message.reply({ embeds: [
|
||||
if (memberlist.includes(member))
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez choisir un membre qui __n\'est pas__ dans votre team.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Veuillez choisir un membre qui __n'est pas__ dans votre team.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter(footer)
|
||||
], allowedMentions: { repliedUser: false } });
|
||||
.setFooter(footer),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
if (user.lastRob + 7200000 > Date.now()) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription(`❌ Vous devez encore attendre ${Math.floor((user.lastRob + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir voler à nouveau.`)
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
`❌ Vous devez encore attendre ${Math.floor((user.lastRob + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir voler à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
const memberInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (memberInfo.antiRob + 7200000 > Date.now()) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription(`❌ Vous ne pouvez pas voler <@${member.id}> pour le moment, il est protégé par un bouclier anti-vol pendant encore \`${Math.floor((memberInfo.antiRob + 7200000 - Date.now()) / 60000)}\` minutes.`)
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
`❌ Vous ne pouvez pas voler <@${member.id}> pour le moment, il est protégé par un bouclier anti-vol pendant encore \`${Math.floor((memberInfo.antiRob + 7200000 - Date.now()) / 60000)}\` minutes.`,
|
||||
)
|
||||
.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 memberPocket = memberInfo.pocket;
|
||||
|
||||
if (memberPocket <= 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription(`❌ <@${member.id}> n'a pas d'argent sur lui pour que vous puissiez le voler.`)
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
`❌ <@${member.id}> n'a pas d'argent sur lui pour que vous puissiez le voler.`,
|
||||
)
|
||||
.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 amount = Math.floor(Math.random() * memberPocket) + 1;
|
||||
db.run(`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET pocket = pocket + ?, lastRob = ? WHERE guildId = ? AND userId = ?`, [amount, Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, message.guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ?, lastRob = ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Vol')
|
||||
.setTitle("Vol")
|
||||
.setDescription(`💰 Vous avez volé ${amount} à <@${member.id}>.`)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+177
-97
@@ -1,181 +1,261 @@
|
||||
const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ActionRowBuilder,
|
||||
StringSelectMenuBuilder,
|
||||
StringSelectMenuOptionBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['vendre'],
|
||||
description: 'Affiche le menu de vente des objets.',
|
||||
emote: '🛍️',
|
||||
utilisation: '',
|
||||
aliases: ["vendre"],
|
||||
description: "Affiche le menu de vente des objets.",
|
||||
emote: "🛍️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setTitle("🛍️ Shop")
|
||||
.setThumbnail(message.guild.iconURL())
|
||||
.setDescription(`Sélectionnez un nombre d'objet à vendre.\n\nVous avez \`${user.objet}\`objet.\nAttention, il est possible que de petit pourboire de client soit rajouté.`)
|
||||
.setDescription(
|
||||
`Sélectionnez un nombre d'objet à vendre.\n\nVous avez \`${user.objet}\`objet.\nAttention, il est possible que de petit pourboire de client soit rajouté.`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const select = new StringSelectMenuBuilder()
|
||||
.setCustomId('sell')
|
||||
.setPlaceholder('Sélectionnez un nombre d\'objet')
|
||||
.setCustomId("sell")
|
||||
.setPlaceholder("Sélectionnez un nombre d'objet")
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('👶 Debutant')
|
||||
.setValue('1')
|
||||
.setDescription('Vend un objet, pour \`200\`coins.')
|
||||
.setEmoji('👶')
|
||||
.setDefault(false)
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🚸 Enfant')
|
||||
.setValue('2')
|
||||
.setDescription('Vend deux objet, pour \`400\`coins.')
|
||||
.setEmoji('🚸')
|
||||
.setDefault(false)
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🔞 Mineur')
|
||||
.setValue('3')
|
||||
.setDescription('Vend trois objet, pour \`600\`coins.')
|
||||
.setEmoji('🔞')
|
||||
.setDefault(false)
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('🧐 Expert')
|
||||
.setValue('4')
|
||||
.setDescription('Vend quatre objet, pour \`800\`coins.')
|
||||
.setEmoji('🧐')
|
||||
.setLabel("👶 Debutant")
|
||||
.setValue("1")
|
||||
.setDescription("Vend un objet, pour `200`coins.")
|
||||
.setEmoji("👶")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('👑 Mythique')
|
||||
.setValue('5')
|
||||
.setDescription('Vend cinq objet, pour \`1 000\`coins.')
|
||||
.setEmoji('👑')
|
||||
.setLabel("🚸 Enfant")
|
||||
.setValue("2")
|
||||
.setDescription("Vend deux objet, pour `400`coins.")
|
||||
.setEmoji("🚸")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('👑 Legendaire')
|
||||
.setValue('10')
|
||||
.setDescription('Vend dix objet, pour \`10 000\`coins !')
|
||||
.setEmoji('👑')
|
||||
.setLabel("🔞 Mineur")
|
||||
.setValue("3")
|
||||
.setDescription("Vend trois objet, pour `600`coins.")
|
||||
.setEmoji("🔞")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('👑 Ultime')
|
||||
.setValue('25')
|
||||
.setDescription('Vend 25 objet, pour \`30 000\`coins !')
|
||||
.setEmoji('👑')
|
||||
.setLabel("🧐 Expert")
|
||||
.setValue("4")
|
||||
.setDescription("Vend quatre objet, pour `800`coins.")
|
||||
.setEmoji("🧐")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel("👑 Mythique")
|
||||
.setValue("5")
|
||||
.setDescription("Vend cinq objet, pour `1 000`coins.")
|
||||
.setEmoji("👑")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel("👑 Legendaire")
|
||||
.setValue("10")
|
||||
.setDescription("Vend dix objet, pour `10 000`coins !")
|
||||
.setEmoji("👑")
|
||||
.setDefault(false),
|
||||
)
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel("👑 Ultime")
|
||||
.setValue("25")
|
||||
.setDescription("Vend 25 objet, pour `30 000`coins !")
|
||||
.setEmoji("👑")
|
||||
.setDefault(false),
|
||||
);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(select);
|
||||
const row = new ActionRowBuilder().addComponents(select);
|
||||
|
||||
message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
client.on('interactionCreate', async (interaction) => {
|
||||
client.on("interactionCreate", async (interaction) => {
|
||||
if (!interaction.user.id !== message.author.id) return;
|
||||
if (!interaction.isSelectMenu()) return;
|
||||
|
||||
if (!interaction.customId === 'sell') return
|
||||
if (!interaction.customId === "sell") return;
|
||||
const selected = interaction.values[0];
|
||||
|
||||
if (selected === '1') {
|
||||
if (selected === "1") {
|
||||
if (user.objet < 1) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 1, pocket = pocket + 200 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 1, pocket = pocket + 200 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '2') {
|
||||
if (selected === "2") {
|
||||
if (user.objet < 2) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 2, pocket = pocket + 400 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 2, pocket = pocket + 400 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '3') {
|
||||
if (selected === "3") {
|
||||
if (user.objet < 3) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 3, pocket = pocket + 600 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 3, pocket = pocket + 600 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '4') {
|
||||
if (selected === "4") {
|
||||
if (user.objet < 4) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 4, pocket = pocket + 850 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 4, pocket = pocket + 850 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '5') {
|
||||
if (selected === "5") {
|
||||
if (user.objet < 5) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 5, pocket = pocket + 1500 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 5, pocket = pocket + 1500 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '10') {
|
||||
if (selected === "10") {
|
||||
if (user.objet < 10) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 10, pocket = pocket + 10500 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 10, pocket = pocket + 10500 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
if (selected === '25') {
|
||||
if (selected === "25") {
|
||||
if (user.objet < 25) {
|
||||
return interaction.reply({ content: 'Vous n\'avez pas assez d\'objet pour en vendre autant.', ephemeral: true });
|
||||
return interaction.reply({
|
||||
content: "Vous n'avez pas assez d'objet pour en vendre autant.",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
db.run(`UPDATE users SET objet = objet - 25, pocket = pocket + 31000 WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET objet = objet - 25, pocket = pocket + 31000 WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
if (select <= 9) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez vendu \`${select}\`objet pour \`${200 * select}\`coins !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez vendu \`${select}\`objet pour \`${200 * select}\`coins !`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
else if (select === 10){
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (select === 10) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez vendu \`${select}\`objet pour \`10000\`coins !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez vendu \`${select}\`objet pour \`10000\`coins !`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
else if (select === 25){
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (select === 25) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛍️ Shop')
|
||||
.setDescription(`Vous avez vendu \`${select}\`objet pour \`30000\`coins !`)
|
||||
.setTitle("🛍️ Shop")
|
||||
.setDescription(
|
||||
`Vous avez vendu \`${select}\`objet pour \`30000\`coins !`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
interaction.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
interaction.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
+220
-114
@@ -1,209 +1,315 @@
|
||||
const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder, StringSelectMenuOptionBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ActionRowBuilder,
|
||||
StringSelectMenuBuilder,
|
||||
StringSelectMenuOptionBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['leaderboard', 'lb', 'ttop'],
|
||||
description: 'Affiche le top 10 des membres/teams du serveur.',
|
||||
emote: '🏆',
|
||||
utilisation: '[global|pocket|bank|reputation|niveau|team|teamreputation|teamdonnateur]',
|
||||
aliases: ["leaderboard", "lb", "ttop"],
|
||||
description: "Affiche le top 10 des membres/teams du serveur.",
|
||||
emote: "🏆",
|
||||
utilisation:
|
||||
"[global|pocket|bank|reputation|niveau|team|teamreputation|teamdonnateur]",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args[0] === 'coins' || args[0] === 'coin' || args[0] === 'global' || args[0] === 'money') {
|
||||
args[0] = 'coins'
|
||||
} else if (args[0] === 'pocket' || args[0] === 'cash' || args[0] === 'wallet' || args[0] === 'porte-monnaie' || args[0] === 'poche') {
|
||||
args[0] = 'pocket'
|
||||
} else if (args[0] === 'bank' || args[0] === 'banque' || args[0] === 'coffre' || args[0] === 'coffre-fort' || args[0] === 'bk') {
|
||||
args[0] = 'bank'
|
||||
} else if (args[0] === 'reputation' || args[0] === 'rep' || args[0] === 'réputation' || args[0] === 'reput') {
|
||||
args[0] = 'reputation'
|
||||
} else if (args[0] === 'niveau' || args[0] === 'lvl' || args[0] === 'level' || args[0] === 'lvl') {
|
||||
args[0] = 'niveau'
|
||||
} else if (args[0] === 'team' || args[0] === 't') {
|
||||
args[0] = 'team'
|
||||
} else if (args[0] === 'teamreputation' || args[0] === 'treputation' || args[0] === 'teamrep' || args[0] === 'trep') {
|
||||
args[0] = 'team'
|
||||
} else if (args[0] === 'teamdonnateur' || args[0] === ' tdonnateur' || args[0] === 'tdroper' || args[0] === ' tdropper' || args[0] === ' teamdrop' || args[0] === 'tdrop' || args[0] === 'teamdroper' || args[0] === 'teamdropper') {
|
||||
args[0] = 'teamdroper'
|
||||
if (
|
||||
args[0] === "coins" ||
|
||||
args[0] === "coin" ||
|
||||
args[0] === "global" ||
|
||||
args[0] === "money"
|
||||
) {
|
||||
args[0] = "coins";
|
||||
} else if (
|
||||
args[0] === "pocket" ||
|
||||
args[0] === "cash" ||
|
||||
args[0] === "wallet" ||
|
||||
args[0] === "porte-monnaie" ||
|
||||
args[0] === "poche"
|
||||
) {
|
||||
args[0] = "pocket";
|
||||
} else if (
|
||||
args[0] === "bank" ||
|
||||
args[0] === "banque" ||
|
||||
args[0] === "coffre" ||
|
||||
args[0] === "coffre-fort" ||
|
||||
args[0] === "bk"
|
||||
) {
|
||||
args[0] = "bank";
|
||||
} else if (
|
||||
args[0] === "reputation" ||
|
||||
args[0] === "rep" ||
|
||||
args[0] === "réputation" ||
|
||||
args[0] === "reput"
|
||||
) {
|
||||
args[0] = "reputation";
|
||||
} else if (
|
||||
args[0] === "niveau" ||
|
||||
args[0] === "lvl" ||
|
||||
args[0] === "level" ||
|
||||
args[0] === "lvl"
|
||||
) {
|
||||
args[0] = "niveau";
|
||||
} else if (args[0] === "team" || args[0] === "t") {
|
||||
args[0] = "team";
|
||||
} else if (
|
||||
args[0] === "teamreputation" ||
|
||||
args[0] === "treputation" ||
|
||||
args[0] === "teamrep" ||
|
||||
args[0] === "trep"
|
||||
) {
|
||||
args[0] = "team";
|
||||
} else if (
|
||||
args[0] === "teamdonnateur" ||
|
||||
args[0] === " tdonnateur" ||
|
||||
args[0] === "tdroper" ||
|
||||
args[0] === " tdropper" ||
|
||||
args[0] === " teamdrop" ||
|
||||
args[0] === "tdrop" ||
|
||||
args[0] === "teamdroper" ||
|
||||
args[0] === "teamdropper"
|
||||
) {
|
||||
args[0] = "teamdroper";
|
||||
} else if (!args[0]) {
|
||||
args[0] = 'coins'
|
||||
args[0] = "coins";
|
||||
} else {
|
||||
args[0] = 'coins'
|
||||
message.reply({ embeds: [
|
||||
args[0] = "coins";
|
||||
message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Argument invalide')
|
||||
.setDescription(`Vous pouvez utiliser les arguments suivants: \`coins\`, \`pocket\`, \`bank\`, \`reputation\`, \`niveau\`, \`team\`, \`teamreputation\`, \`teamdonnateur\`, ou ne rien mettre pour afficher le top 10 des membres du serveur.`)
|
||||
.setTitle("Argument invalide")
|
||||
.setDescription(
|
||||
`Vous pouvez utiliser les arguments suivants: \`coins\`, \`pocket\`, \`bank\`, \`reputation\`, \`niveau\`, \`team\`, \`teamreputation\`, \`teamdonnateur\`, ou ne rien mettre pour afficher le top 10 des membres du serveur.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
async function leaderboard (type) {
|
||||
async function leaderboard(type) {
|
||||
let data;
|
||||
if (type === 'coins') {
|
||||
if (type === "coins") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, pocket+bank AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, pocket+bank AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'pocket') {
|
||||
} else if (type === "pocket") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, pocket AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, pocket AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'bank') {
|
||||
} else if (type === "bank") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, bank AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, bank AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'reputation') {
|
||||
} else if (type === "reputation") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, reputation AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, reputation AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'niveau') {
|
||||
} else if (type === "niveau") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, lvl AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, lvl AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'team') {
|
||||
} else if (type === "team") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT name, bank AS coins FROM teams WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT name, bank AS coins FROM teams WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'teamreputation') {
|
||||
} else if (type === "teamreputation") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT name, reputation AS teams FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT name, reputation AS teams FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
} else if (type === 'teamdroper') {
|
||||
} else if (type === "teamdroper") {
|
||||
data = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT userId, teamdroper AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT userId, teamdroper AS coins FROM users WHERE guildId = ? ORDER BY coins DESC LIMIT 10`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
const emoji = {
|
||||
coins: '🪙',
|
||||
pocket: '💰',
|
||||
bank: '🏦',
|
||||
reputation: '🔺',
|
||||
niveau: '📊',
|
||||
team: '👑',
|
||||
teamreputation: '🔺',
|
||||
teamdroper: '🎁'
|
||||
}
|
||||
coins: "🪙",
|
||||
pocket: "💰",
|
||||
bank: "🏦",
|
||||
reputation: "🔺",
|
||||
niveau: "📊",
|
||||
team: "👑",
|
||||
teamreputation: "🔺",
|
||||
teamdroper: "🎁",
|
||||
};
|
||||
|
||||
let leaderboard = data.map((row, i) => {
|
||||
let leaderboard = data
|
||||
.map((row, i) => {
|
||||
let position;
|
||||
switch (i) {
|
||||
case 0:
|
||||
position = ':first_place:';
|
||||
position = ":first_place:";
|
||||
break;
|
||||
case 1:
|
||||
position = ':second_place:';
|
||||
position = ":second_place:";
|
||||
break;
|
||||
case 2:
|
||||
position = ':third_place:';
|
||||
position = ":third_place:";
|
||||
break;
|
||||
default:
|
||||
position = `**${i + 1}.**`;
|
||||
}
|
||||
return `${position} <@${row.userId}> - \`${row.coins}\` ${emoji[type]}`;
|
||||
}).join('\n\n');
|
||||
})
|
||||
.join("\n\n");
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🏆 Top 10 des membres du serveur')
|
||||
.setDescription(`Voici le top 10 des membres du serveur trié par ${type}:\n\n${leaderboard}`)
|
||||
.setTitle("🏆 Top 10 des membres du serveur")
|
||||
.setDescription(
|
||||
`Voici le top 10 des membres du serveur trié par ${type}:\n\n${leaderboard}`,
|
||||
)
|
||||
.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 embed
|
||||
return embed;
|
||||
}
|
||||
|
||||
const embed = await leaderboard(args[0]);
|
||||
|
||||
const select = new StringSelectMenuBuilder()
|
||||
.setCustomId('topLeaderboard')
|
||||
.setPlaceholder('Choisissez un type de leaderboard')
|
||||
.setCustomId("topLeaderboard")
|
||||
.setPlaceholder("Choisissez un type de leaderboard")
|
||||
.addOptions(
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Global')
|
||||
.setEmoji('🪙')
|
||||
.setDescription('Affiche le top en fonction de la somme de l\'argent en poche et en banque')
|
||||
.setValue('coins'),
|
||||
.setLabel("Global")
|
||||
.setEmoji("🪙")
|
||||
.setDescription(
|
||||
"Affiche le top en fonction de la somme de l'argent en poche et en banque",
|
||||
)
|
||||
.setValue("coins"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Poche')
|
||||
.setEmoji('💰')
|
||||
.setDescription('Affiche le top en fonction de l\'argent en poche')
|
||||
.setValue('pocket'),
|
||||
.setLabel("Poche")
|
||||
.setEmoji("💰")
|
||||
.setDescription("Affiche le top en fonction de l'argent en poche")
|
||||
.setValue("pocket"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Banque')
|
||||
.setEmoji('🏦')
|
||||
.setDescription('Affiche le top en fonction de l\'argent en banque')
|
||||
.setValue('bank'),
|
||||
.setLabel("Banque")
|
||||
.setEmoji("🏦")
|
||||
.setDescription("Affiche le top en fonction de l'argent en banque")
|
||||
.setValue("bank"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Réputation')
|
||||
.setEmoji('🔺')
|
||||
.setDescription('Affiche le top en fonction de la réputation')
|
||||
.setValue('reputation'),
|
||||
.setLabel("Réputation")
|
||||
.setEmoji("🔺")
|
||||
.setDescription("Affiche le top en fonction de la réputation")
|
||||
.setValue("reputation"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Niveau')
|
||||
.setEmoji('📊')
|
||||
.setDescription('Affiche le top en fonction du niveau')
|
||||
.setValue('niveau'),
|
||||
.setLabel("Niveau")
|
||||
.setEmoji("📊")
|
||||
.setDescription("Affiche le top en fonction du niveau")
|
||||
.setValue("niveau"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Teams bank')
|
||||
.setEmoji('👑')
|
||||
.setDescription('Affiche le top en fonction de l\'argent des teams')
|
||||
.setValue('team'),
|
||||
.setLabel("Teams bank")
|
||||
.setEmoji("👑")
|
||||
.setDescription("Affiche le top en fonction de l'argent des teams")
|
||||
.setValue("team"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('Teams réputation')
|
||||
.setEmoji('🔺')
|
||||
.setDescription('Affiche le top en fonction de la réputation des teams')
|
||||
.setValue('teamreputation'),
|
||||
.setLabel("Teams réputation")
|
||||
.setEmoji("🔺")
|
||||
.setDescription(
|
||||
"Affiche le top en fonction de la réputation des teams",
|
||||
)
|
||||
.setValue("teamreputation"),
|
||||
new StringSelectMenuOptionBuilder()
|
||||
.setLabel('TeamDroper')
|
||||
.setEmoji('🎁')
|
||||
.setDescription('Affiche le top en fonction du nombre de coins donnés à une team')
|
||||
.setValue('teamdroper')
|
||||
.setLabel("TeamDroper")
|
||||
.setEmoji("🎁")
|
||||
.setDescription(
|
||||
"Affiche le top en fonction du nombre de coins donnés à une team",
|
||||
)
|
||||
.setValue("teamdroper"),
|
||||
);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(select);
|
||||
const row = new ActionRowBuilder().addComponents(select);
|
||||
|
||||
const replyMessage = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } })
|
||||
const replyMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
client.on('interactionCreate', async (interaction) => {
|
||||
client.on("interactionCreate", async (interaction) => {
|
||||
if (!interaction.isStringSelectMenu()) return;
|
||||
|
||||
if (interaction.customId === 'topLeaderboard') {
|
||||
if (interaction.customId === "topLeaderboard") {
|
||||
const selected = interaction.values[0];
|
||||
|
||||
await interaction.deferUpdate();
|
||||
|
||||
const embed = await leaderboard(selected);
|
||||
replyMessage.edit({ embeds: [embed] });
|
||||
interaction.followUp({ content: 'Leaderboard mis à jour', ephemeral: true });
|
||||
interaction.followUp({
|
||||
content: "Leaderboard mis à jour",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
+44
-23
@@ -1,49 +1,67 @@
|
||||
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: ['ret', 'retrait', 'with', 'withdraw', 'wd', 'take', 'wh'],
|
||||
description: 'Retire vos coins de votre compte banquaire.',
|
||||
emote: '🏦',
|
||||
utilisation: '<montant|all>',
|
||||
aliases: ["ret", "retrait", "with", "withdraw", "wd", "take", "wh"],
|
||||
description: "Retire vos coins de votre compte banquaire.",
|
||||
emote: "🏦",
|
||||
utilisation: "<montant|all>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 pocket = user.pocket;
|
||||
const bank = user.bank;
|
||||
|
||||
let title = 'Retrait Impossible';
|
||||
let description = '';
|
||||
let title = "Retrait Impossible";
|
||||
let description = "";
|
||||
|
||||
if (args.length === 0) {
|
||||
description = '❌ Vous devez spécifier un montant à retirer.';
|
||||
} else if (args[0] === 'all') {
|
||||
description = "❌ Vous devez spécifier un montant à retirer.";
|
||||
} else if (args[0] === "all") {
|
||||
if (bank <= 0) {
|
||||
description = '❌ Vous n\'avez pas d\'argent à retirer de votre compte en banque.';
|
||||
description =
|
||||
"❌ Vous n'avez pas d'argent à retirer de votre compte en banque.";
|
||||
} else {
|
||||
title = 'Retrait Réussi';
|
||||
title = "Retrait Réussi";
|
||||
description = `🏦 Vous avez retiré \`${bank}\` coins de votre compte en banque.`;
|
||||
db.run(`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`, [pocket + bank, 0, message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`,
|
||||
[pocket + bank, 0, message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
} else if (isNaN(args[0])) {
|
||||
description = '❌ Vous devez spécifier un montant valide à retirer.';
|
||||
description = "❌ Vous devez spécifier un montant valide à retirer.";
|
||||
} else if (bank <= 0) {
|
||||
description = '❌ Vous n\'avez pas d\'argent à retirer.'
|
||||
description = "❌ Vous n'avez pas d'argent à retirer.";
|
||||
} else if (parseInt(args[0]) > bank) {
|
||||
description = '❌ Vous n\'avez pas assez d\'argent dans votre compte en banque pour retirer cette somme.';
|
||||
description =
|
||||
"❌ Vous n'avez pas assez d'argent dans votre compte en banque pour retirer cette somme.";
|
||||
} else if (parseInt(args[0]) <= 0) {
|
||||
description = '❌ Vous ne pouvez pas retirer une somme négative ou nulle.';
|
||||
description =
|
||||
"❌ Vous ne pouvez pas retirer une somme négative ou nulle.";
|
||||
} else {
|
||||
title = 'Retrait Réussi';
|
||||
title = "Retrait Réussi";
|
||||
description = `🏦 Vous avez retiré ${args[0]} coins de votre compte en banque.`;
|
||||
db.run(`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`, [pocket + parseInt(args[0]), bank - parseInt(args[0]), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, bank = ? WHERE guildId = ? AND userId = ?`,
|
||||
[
|
||||
pocket + parseInt(args[0]),
|
||||
bank - parseInt(args[0]),
|
||||
message.guild.id,
|
||||
message.author.id,
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
@@ -51,7 +69,10 @@ module.exports = {
|
||||
.setDescription(description)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+36
-19
@@ -1,37 +1,52 @@
|
||||
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: ['wk', 'travail'],
|
||||
description: 'Travaillez pour gagner des coins.',
|
||||
emote: '💼',
|
||||
utilisation: '',
|
||||
aliases: ["wk", "travail"],
|
||||
description: "Travaillez pour gagner des coins.",
|
||||
emote: "💼",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 lastWork = user.lastWork
|
||||
const pocket = user.pocket
|
||||
const lastWork = user.lastWork;
|
||||
const pocket = user.pocket;
|
||||
|
||||
if (lastWork > Date.now() - 2700000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Travail Impossible')
|
||||
.setDescription(`❌ Vous avez déjà travaillé récemment. Veuillez attendre \`${Math.floor((lastWork + 2700000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à nouveau.`)
|
||||
.setTitle("Travail Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà travaillé récemment. Veuillez attendre \`${Math.floor((lastWork + 2700000 - Date.now()) / 60000)}\` minutes avant de pouvoir travailler à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
const randomAmount = Math.floor(Math.random() * (500 - 100 + 1) + 100);
|
||||
db.run(`UPDATE users SET pocket = ?, lastWork = ? WHERE guildId = ? AND userId = ?`, [pocket + randomAmount, Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ?, lastWork = ? WHERE guildId = ? AND userId = ?`,
|
||||
[pocket + randomAmount, Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const works = [
|
||||
`💼 Vous avez exploré une ancienne ruine et avez trouvé \`${randomAmount}\` coins.`,
|
||||
@@ -75,13 +90,15 @@ module.exports = {
|
||||
`👶 Vous avez gagner \`${Math.round(randomAmount / 2)}\` coins en gardant l'enfant de vos voisins. Ils sont très satisfait de votre travail et on donc double votre salaire. Vous repartez avec \`${randomAmount}\`.`,
|
||||
];
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Travail Terminé')
|
||||
.setTitle("Travail Terminé")
|
||||
.setDescription(works[Math.floor(Math.random() * works.length)])
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+35
-19
@@ -1,35 +1,45 @@
|
||||
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: [],
|
||||
description: 'Ajoute de l\'argent de votre compte en banque ou de votre poche ou de votre réputation.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant> <pocket|bank|reputation> [@membre]',
|
||||
description:
|
||||
"Ajoute de l'argent de votre compte en banque ou de votre poche ou de votre réputation.",
|
||||
emote: "💰",
|
||||
utilisation: "<montant> <pocket|bank|reputation> [@membre]",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
let member = message.author;
|
||||
let title = 'Ajout d\'argent';
|
||||
let title = "Ajout d'argent";
|
||||
let description = `💰 Vous avez ajouté ${args[0]} à votre ${args[1]}.`;
|
||||
|
||||
if (isNaN(args[0])) {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer un montant valide.';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant valide.";
|
||||
} else if (args[0] <= 0) {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer un montant supérieur à 0.';
|
||||
} else if (args[1] !== 'pocket' && args[1] !== 'bank' && args[1] !== 'reputation') {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer une destination valide (pocket, bank, reputation).';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant supérieur à 0.";
|
||||
} else if (
|
||||
args[1] !== "pocket" &&
|
||||
args[1] !== "bank" &&
|
||||
args[1] !== "reputation"
|
||||
) {
|
||||
title = "Erreur";
|
||||
description =
|
||||
"❌ Veuillez entrer une destination valide (pocket, bank, reputation).";
|
||||
} else if (message.mentions.users.first()) {
|
||||
member = message.mentions.users.first();
|
||||
description = `💰 Vous avez ajouté ${args[0]} à la ${args[1]} de ${member.tag}.`;
|
||||
@@ -40,10 +50,16 @@ module.exports = {
|
||||
.setDescription(description)
|
||||
.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(),
|
||||
});
|
||||
|
||||
if (title !== 'Erreur') {
|
||||
db.run(`UPDATE users SET ${args[1]} = ${args[1]} + ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, member.id]);
|
||||
if (title !== "Erreur") {
|
||||
db.run(
|
||||
`UPDATE users SET ${args[1]} = ${args[1]} + ? WHERE guildId = ? AND userId = ?`,
|
||||
[args[0], message.guild.id, member.id],
|
||||
);
|
||||
}
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
|
||||
+89
-47
@@ -1,88 +1,130 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, PermissionFlagsBits, EmbedBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
PermissionFlagsBits,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['ban'],
|
||||
description: 'permet de ban un membre',
|
||||
emote: '⏱️',
|
||||
utilisation: '<@membre> <raison>',
|
||||
aliases: ["ban"],
|
||||
description: "permet de ban un membre",
|
||||
emote: "⏱️",
|
||||
utilisation: "<@membre> <raison>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author)
|
||||
if ((!authorPerms || !authorPerms.has(PermissionFlagsBits.banMembers)) && !client.config.owners.includes(message.author.id)) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author);
|
||||
if (
|
||||
(!authorPerms || !authorPerms.has(PermissionFlagsBits.banMembers)) &&
|
||||
!client.config.owners.includes(message.author.id)
|
||||
) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas les permissions pour expulser.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous n'avez pas les permissions pour expulser.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
let member = message.mentions.members.first() // || message.guild.members.get(args[0]);
|
||||
let member = message.mentions.members.first(); // || message.guild.members.get(args[0]);
|
||||
if (!member) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un membre du serveur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un membre du serveur.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
const motif = args[1]
|
||||
const motif = args[1];
|
||||
if (motif.length < 2) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez indiquer un motif.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez indiquer un motif.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
let reponse
|
||||
member.ban({ reason: motif })
|
||||
.then(async () => {
|
||||
let reponse;
|
||||
member.ban({ reason: motif }).then(async () => {
|
||||
const btn = new ButtonBuilder()
|
||||
.setCustomId('mp')
|
||||
.setLabel('Prevenir le membre en MP')
|
||||
.setCustomId("mp")
|
||||
.setLabel("Prevenir le membre en MP")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(btn);
|
||||
const row = new ActionRowBuilder().addComponents(btn);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Membre banni !')
|
||||
.setDescription('Vous avez banni: <@' + member + '>\nMotif: `' + motif + '`')
|
||||
.setTitle("Membre banni !")
|
||||
.setDescription(
|
||||
"Vous avez banni: <@" + member + ">\nMotif: `" + motif + "`",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
reponse = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
})
|
||||
|
||||
const filter = i => i.customId === 'mp' && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({ filter, time: 30000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
const embedBanni = new EmbedBuilder()
|
||||
.setTitle('Bannissement !')
|
||||
.setDescription('Vous avez été banni du serveur ' + interaction.guild.name + ', avec comme motif: `' + motif + '`')
|
||||
.setColor("Red")
|
||||
.setTimestamp()
|
||||
member.send({ embeds: [embedBanni] })
|
||||
interaction.reply({ content: '> **Le membre a été prevenu.**', ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
reponse = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
const filter = (i) =>
|
||||
i.customId === "mp" && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 30000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
const embedBanni = new EmbedBuilder()
|
||||
.setTitle("Bannissement !")
|
||||
.setDescription(
|
||||
"Vous avez été banni du serveur " +
|
||||
interaction.guild.name +
|
||||
", avec comme motif: `" +
|
||||
motif +
|
||||
"`",
|
||||
)
|
||||
.setColor("Red")
|
||||
.setTimestamp();
|
||||
member.send({ embeds: [embedBanni] });
|
||||
interaction.reply({
|
||||
content: "> **Le membre a été prevenu.**",
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on("end", () => {
|
||||
reponse.edit({ components: [], allowedMentions: { repliedUser: false } });
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+34
-20
@@ -1,22 +1,21 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['give'],
|
||||
description: 'Donne des coins au premier qui appuie sur un bouton.',
|
||||
emote: '🪙',
|
||||
utilisation: '<amount>',
|
||||
aliases: ["give"],
|
||||
description: "Donne des coins au premier qui appuie sur un bouton.",
|
||||
emote: "🪙",
|
||||
utilisation: "<amount>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (isNaN(args[0])) return message.reply('La somme dois etre un nombre...')
|
||||
if (isNaN(args[0])) return message.reply("La somme dois etre un nombre...");
|
||||
const btn = new ButtonBuilder()
|
||||
.setCustomId('confirm')
|
||||
.setLabel('💰')
|
||||
.setCustomId("confirm")
|
||||
.setLabel("💰")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(btn);
|
||||
const row = new ActionRowBuilder().addComponents(btn);
|
||||
|
||||
/*const sentMessage = message.channel.send('_ _')
|
||||
let contage = 0
|
||||
@@ -37,22 +36,37 @@ module.exports = {
|
||||
content: `Appuis vite sur le bouton pour gagner ${args[0]}coins`,
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
})
|
||||
});
|
||||
|
||||
const filter = i => i.customId === 'confirm' && i.user.id !== message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 45000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
const filter = (i) =>
|
||||
i.customId === "confirm" && i.user.id !== message.author.id;
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 45000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
sentMessage.edit({
|
||||
content: `Le drop est gagner par <@${interaction.user.id}>`,
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, interaction.user.id]);
|
||||
interaction.reply({ content: 'Tu as gagner le drop !', ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE guildId = ? AND userId = ?`,
|
||||
[args[0], message.guild.id, interaction.user.id],
|
||||
);
|
||||
interaction.reply({
|
||||
content: "Tu as gagner le drop !",
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
sentMessage.edit({ components: [], ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
collector.on("end", () => {
|
||||
sentMessage.edit({
|
||||
components: [],
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
+89
-47
@@ -1,88 +1,130 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, PermissionFlagsBits, EmbedBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
PermissionFlagsBits,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['kick'],
|
||||
description: 'permet d\'expulser un membre',
|
||||
emote: '⏱️',
|
||||
utilisation: '<@membre> <raison>',
|
||||
aliases: ["kick"],
|
||||
description: "permet d'expulser un membre",
|
||||
emote: "⏱️",
|
||||
utilisation: "<@membre> <raison>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author)
|
||||
if ((!authorPerms || !authorPerms.has(PermissionFlagsBits.kickMembers)) && !client.config.owners.includes(message.author.id)) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author);
|
||||
if (
|
||||
(!authorPerms || !authorPerms.has(PermissionFlagsBits.kickMembers)) &&
|
||||
!client.config.owners.includes(message.author.id)
|
||||
) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas les permissions pour expulser.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous n'avez pas les permissions pour expulser.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
let member = message.mentions.members.first() //|| message.guild.members.get(args[0]);
|
||||
let member = message.mentions.members.first(); //|| message.guild.members.get(args[0]);
|
||||
if (!member) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un membre du serveur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un membre du serveur.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
const motif = args[1]
|
||||
const motif = args[1];
|
||||
if (motif.length < 2) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez indiquer un motif.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez indiquer un motif.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
let reponse
|
||||
member.kick({ reason: motif })
|
||||
.then(async () => {
|
||||
let reponse;
|
||||
member.kick({ reason: motif }).then(async () => {
|
||||
const btn = new ButtonBuilder()
|
||||
.setCustomId('mp')
|
||||
.setLabel('Prevenir le membre en MP')
|
||||
.setCustomId("mp")
|
||||
.setLabel("Prevenir le membre en MP")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(btn);
|
||||
const row = new ActionRowBuilder().addComponents(btn);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Membre expulser !')
|
||||
.setDescription('Vous avez expulser: <@' + member + '>\nMotif: `' + motif + '`')
|
||||
.setTitle("Membre expulser !")
|
||||
.setDescription(
|
||||
"Vous avez expulser: <@" + member + ">\nMotif: `" + motif + "`",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
reponse = message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
})
|
||||
|
||||
const filter = i => i.customId === 'mp' && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({ filter, time: 30000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
const embedkick = new EmbedBuilder()
|
||||
.setTitle('Expulsion !')
|
||||
.setDescription('Vous avez été expulser du serveur ' + interaction.guild.name + ', avec comme motif: `' + motif + '`')
|
||||
.setColor("Red")
|
||||
.setTimestamp()
|
||||
member.send({ embeds: [embedkick] })
|
||||
interaction.reply({ content: '> **Le membre a été prevenu.**', ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
reponse = message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
const filter = (i) =>
|
||||
i.customId === "mp" && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 30000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
const embedkick = new EmbedBuilder()
|
||||
.setTitle("Expulsion !")
|
||||
.setDescription(
|
||||
"Vous avez été expulser du serveur " +
|
||||
interaction.guild.name +
|
||||
", avec comme motif: `" +
|
||||
motif +
|
||||
"`",
|
||||
)
|
||||
.setColor("Red")
|
||||
.setTimestamp();
|
||||
member.send({ embeds: [embedkick] });
|
||||
interaction.reply({
|
||||
content: "> **Le membre a été prevenu.**",
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on("end", () => {
|
||||
reponse.edit({ components: [], allowedMentions: { repliedUser: false } });
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+118
-58
@@ -1,25 +1,38 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, PermissionFlagsBits, EmbedBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
PermissionFlagsBits,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['timeout'],
|
||||
description: 'permet de mute un membre',
|
||||
emote: '⏱️',
|
||||
utilisation: '<@membre> <temps> <raison>',
|
||||
aliases: ["timeout"],
|
||||
description: "permet de mute un membre",
|
||||
emote: "⏱️",
|
||||
utilisation: "<@membre> <temps> <raison>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author)
|
||||
if ((!authorPerms || !authorPerms.has(PermissionFlagsBits.MuteMembers)) && !client.config.owners.includes(message.author.id)) {
|
||||
const authorPerms = message.channel.permissionsFor(message.author);
|
||||
if (
|
||||
(!authorPerms || !authorPerms.has(PermissionFlagsBits.MuteMembers)) &&
|
||||
!client.config.owners.includes(message.author.id)
|
||||
) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous n\'avez pas les permissions pour expulser.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous n'avez pas les permissions pour expulser.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -27,92 +40,139 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez respecter ce format : <@membre|membreId> <min> <raison>.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Veuillez respecter ce format : <@membre|membreId> <min> <raison>.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
let member = message.mentions.members.first() //|| message.guild.members.get(args[0])
|
||||
let member = message.mentions.members.first(); //|| message.guild.members.get(args[0])
|
||||
if (!member) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez spécifier un membre du serveur.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez spécifier un membre du serveur.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
let time = args[1]
|
||||
if (time.length <= 3 || !time.includes('min')) {
|
||||
let time = args[1];
|
||||
if (time.length <= 3 || !time.includes("min")) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez indiquer une durée valide <`x`min>.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Veuillez indiquer une durée valide <`x`min>.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
time = time.replace('min', '')
|
||||
time = time.replace("min", "");
|
||||
|
||||
const motif = args[2]
|
||||
const motif = args[2];
|
||||
if (motif.length <= 2) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Veuillez indiquer un motif (minimum 3caractère).')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
"❌ Veuillez indiquer un motif (minimum 3caractère).",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
let reponse
|
||||
member.timeout(time * 60 * 1000, motif)
|
||||
.then(async () => {
|
||||
let reponse;
|
||||
member.timeout(time * 60 * 1000, motif).then(async () => {
|
||||
const btn = new ButtonBuilder()
|
||||
.setCustomId('mp')
|
||||
.setLabel('Prevenir le membre en MP')
|
||||
.setCustomId("mp")
|
||||
.setLabel("Prevenir le membre en MP")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(btn);
|
||||
const row = new ActionRowBuilder().addComponents(btn);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Membre mute !')
|
||||
.setDescription('Vous avez mute: <@' + member + '>\nTemps: `' + time + '`min\nMotif: `' + motif + '`')
|
||||
.setTitle("Membre mute !")
|
||||
.setDescription(
|
||||
"Vous avez mute: <@" +
|
||||
member +
|
||||
">\nTemps: `" +
|
||||
time +
|
||||
"`min\nMotif: `" +
|
||||
motif +
|
||||
"`",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
reponse = message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
})
|
||||
|
||||
const filter = i => i.customId === 'mp' && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({ filter, time: 30000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
const embedkick = new EmbedBuilder()
|
||||
.setTitle('Expulsion !')
|
||||
.setDescription('Vous avez été expulser du serveur ' + interaction.guild.name + ', avec comme motif: `' + motif + '`')
|
||||
.setColor("Red")
|
||||
.setTimestamp()
|
||||
member.send({ embeds: [embedkick] })
|
||||
interaction.reply({ content: '> **Le membre a été prevenu.**', ephemeral: true, allowedMentions: { repliedUser: false } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
reponse = message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
const filter = (i) =>
|
||||
i.customId === "mp" && i.user.id === message.author.id;
|
||||
const collector = reponse.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 30000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
const embedkick = new EmbedBuilder()
|
||||
.setTitle("Expulsion !")
|
||||
.setDescription(
|
||||
"Vous avez été expulser du serveur " +
|
||||
interaction.guild.name +
|
||||
", avec comme motif: `" +
|
||||
motif +
|
||||
"`",
|
||||
)
|
||||
.setColor("Red")
|
||||
.setTimestamp();
|
||||
member.send({ embeds: [embedkick] });
|
||||
interaction.reply({
|
||||
content: "> **Le membre a été prevenu.**",
|
||||
ephemeral: true,
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
collector.on("end", () => {
|
||||
reponse.edit({ components: [], allowedMentions: { repliedUser: false } });
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+28
-13
@@ -1,29 +1,44 @@
|
||||
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: ['perm', 'permission', 'permissions'],
|
||||
description: 'Affiche les permission des rôles pour utiliser les commandes du bot.',
|
||||
emote: '⏱️',
|
||||
utilisation: '',
|
||||
aliases: ["perm", "permission", "permissions"],
|
||||
description:
|
||||
"Affiche les permission des rôles pour utiliser les commandes du bot.",
|
||||
emote: "⏱️",
|
||||
utilisation: "",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const perms = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT * FROM rolePermission WHERE guildId = ?`, [message.guild.id], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT * FROM rolePermission WHERE guildId = ?`,
|
||||
[message.guild.id],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Permissions')
|
||||
.setDescription(perms.map(perm => `**<@&${perm.roleId}>** : ${perm.permission}`).join('\n'))
|
||||
.setTitle("⏱️ Permissions")
|
||||
.setDescription(
|
||||
perms
|
||||
.map((perm) => `**<@&${perm.roleId}>** : ${perm.permission}`)
|
||||
.join("\n"),
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
+35
-19
@@ -1,35 +1,45 @@
|
||||
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: [],
|
||||
description: 'Retire de l\'argent de votre compte en banque ou de votre poche ou de votre réputation.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant> <pocket|bank|reputation> [@membre]',
|
||||
description:
|
||||
"Retire de l'argent de votre compte en banque ou de votre poche ou de votre réputation.",
|
||||
emote: "💰",
|
||||
utilisation: "<montant> <pocket|bank|reputation> [@membre]",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
let member = message.author;
|
||||
let title = 'Argent retiré';
|
||||
let title = "Argent retiré";
|
||||
let description = `💰 Vous avez retiré ${args[0]} à votre ${args[1]}.`;
|
||||
|
||||
if (isNaN(args[0])) {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer un montant valide.';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant valide.";
|
||||
} else if (args[0] <= 0) {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer un montant supérieur à 0.';
|
||||
} else if (args[1] !== 'pocket' && args[1] !== 'bank' && args[1] !== 'reputation') {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer une destination valide (pocket, bank, reputation).';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant supérieur à 0.";
|
||||
} else if (
|
||||
args[1] !== "pocket" &&
|
||||
args[1] !== "bank" &&
|
||||
args[1] !== "reputation"
|
||||
) {
|
||||
title = "Erreur";
|
||||
description =
|
||||
"❌ Veuillez entrer une destination valide (pocket, bank, reputation).";
|
||||
} else if (message.mentions.users.first()) {
|
||||
member = message.mentions.users.first();
|
||||
description = `💰 Vous avez retiré ${args[0]} à la ${args[1]} de ${member.tag}.`;
|
||||
@@ -40,10 +50,16 @@ module.exports = {
|
||||
.setDescription(description)
|
||||
.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(),
|
||||
});
|
||||
|
||||
if (title !== 'Erreur') {
|
||||
db.run(`UPDATE users SET ${args[1]} = ${args[1]} - ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, member.id]);
|
||||
if (title !== "Erreur") {
|
||||
db.run(
|
||||
`UPDATE users SET ${args[1]} = ${args[1]} - ? WHERE guildId = ? AND userId = ?`,
|
||||
[args[0], message.guild.id, member.id],
|
||||
);
|
||||
}
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
|
||||
@@ -1,41 +1,68 @@
|
||||
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: [],
|
||||
description: 'Reinitialise toutes les données d\'un utilisateur (sur ce serveur).',
|
||||
emote: '💰',
|
||||
utilisation: '<@membre>',
|
||||
description:
|
||||
"Reinitialise toutes les données d'un utilisateur (sur ce serveur).",
|
||||
emote: "💰",
|
||||
utilisation: "<@membre>",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
const member = message.mentions.users.first();
|
||||
if (!member) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Reset :')
|
||||
.setTitle("Reset :")
|
||||
.setDescription(`**Veuillez mentionner un membre valide**`)
|
||||
.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 pocket = 0 WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET bank = 0 WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET xp = 0 WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET lvl = 0 WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET reputation = 0 WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET teamId = NULL, teamRole = NULL WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id]);
|
||||
db.run(`UPDATE users SET pocket = 0 WHERE guildId = ? AND userId = ?`, [
|
||||
message.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
db.run(`UPDATE users SET bank = 0 WHERE guildId = ? AND userId = ?`, [
|
||||
message.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
db.run(`UPDATE users SET xp = 0 WHERE guildId = ? AND userId = ?`, [
|
||||
message.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
db.run(`UPDATE users SET lvl = 0 WHERE guildId = ? AND userId = ?`, [
|
||||
message.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
db.run(`UPDATE users SET reputation = 0 WHERE guildId = ? AND userId = ?`, [
|
||||
message.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
db.run(
|
||||
`UPDATE users SET teamId = NULL, teamRole = NULL WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Reset :')
|
||||
.setTitle("Reset :")
|
||||
.setDescription(`**<@${member.id}> reinitialiser avec succès !**`)
|
||||
.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 } });
|
||||
},
|
||||
|
||||
+35
-19
@@ -1,35 +1,45 @@
|
||||
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: [],
|
||||
description: 'Defini la solde d\'un membre (a utiliser pour remplacer un `NaN` dans le `&me`).',
|
||||
emote: '💰',
|
||||
utilisation: '<montant> <pocket|bank|reputation> [@membre]',
|
||||
description:
|
||||
"Defini la solde d'un membre (a utiliser pour remplacer un `NaN` dans le `&me`).",
|
||||
emote: "💰",
|
||||
utilisation: "<montant> <pocket|bank|reputation> [@membre]",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
let member = message.author;
|
||||
let title = 'Definition de solde';
|
||||
let title = "Definition de solde";
|
||||
let description = `💰 Vous avez mis à ${args[0]} votre ${args[1]}.`;
|
||||
|
||||
if (isNaN(args[0])) {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer un montant valide.';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant valide.";
|
||||
} else if (args[0] < 0) {
|
||||
title = 'Erreur'
|
||||
description = '❌ Veuillez entrer un montant supérieur à 0.';
|
||||
} else if (args[1] !== 'pocket' && args[1] !== 'bank' && args[1] !== 'reputation') {
|
||||
title = 'Erreur';
|
||||
description = '❌ Veuillez entrer une destination valide (pocket, bank, reputation).';
|
||||
title = "Erreur";
|
||||
description = "❌ Veuillez entrer un montant supérieur à 0.";
|
||||
} else if (
|
||||
args[1] !== "pocket" &&
|
||||
args[1] !== "bank" &&
|
||||
args[1] !== "reputation"
|
||||
) {
|
||||
title = "Erreur";
|
||||
description =
|
||||
"❌ Veuillez entrer une destination valide (pocket, bank, reputation).";
|
||||
} else if (message.mentions.users.first()) {
|
||||
member = message.mentions.users.first();
|
||||
description = `💰 Vous avez mis à ${args[0]} la ${args[1]} de ${member.tag}.`;
|
||||
@@ -40,10 +50,16 @@ module.exports = {
|
||||
.setDescription(description)
|
||||
.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(),
|
||||
});
|
||||
|
||||
if (title !== 'Erreur') {
|
||||
db.run(`UPDATE users SET ${args[1]} = ? WHERE guildId = ? AND userId = ?`, [args[0], message.guild.id, member.id]);
|
||||
if (title !== "Erreur") {
|
||||
db.run(
|
||||
`UPDATE users SET ${args[1]} = ? WHERE guildId = ? AND userId = ?`,
|
||||
[args[0], message.guild.id, member.id],
|
||||
);
|
||||
}
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
|
||||
@@ -1,77 +1,122 @@
|
||||
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: ['setperm'],
|
||||
description: 'Ajoute les permissions d\'un rôle pour utiliser les commandes du bot.',
|
||||
emote: '⏱️',
|
||||
utilisation: '<@role|None> <1|2|3|4|5>',
|
||||
aliases: ["setperm"],
|
||||
description:
|
||||
"Ajoute les permissions d'un rôle pour utiliser les commandes du bot.",
|
||||
emote: "⏱️",
|
||||
utilisation: "<@role|None> <1|2|3|4|5>",
|
||||
permission: 10,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (!args[0] || !args[1]) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Ajout de permissions')
|
||||
.setDescription(`Vous devez spécifier un rôle et un niveau de permission.\n\n**Utilisation:** \`&setRolePerm <@role|None> <1|2|3|4|5>\``)
|
||||
.setTitle("⏱️ Ajout de permissions")
|
||||
.setDescription(
|
||||
`Vous devez spécifier un rôle et un niveau de permission.\n\n**Utilisation:** \`&setRolePerm <@role|None> <1|2|3|4|5>\``,
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
|
||||
let role;
|
||||
if (args[0] === 'None') {
|
||||
role = 'None';
|
||||
if (args[0] === "None") {
|
||||
role = "None";
|
||||
} else {
|
||||
role = message.mentions.roles.first().id;
|
||||
}
|
||||
|
||||
if (isNaN(parseInt(args[1]))) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Ajout de permissions')
|
||||
.setDescription('Le deuxième argument doit être un nombre.')
|
||||
.setTitle("⏱️ Ajout de permissions")
|
||||
.setDescription("Le deuxième argument doit être un nombre.")
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
|
||||
if (args[1] < 1 || args[1] > 5) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Ajout de permissions')
|
||||
.setDescription('Le niveau de permission doit être compris entre 1 et 5.')
|
||||
.setTitle("⏱️ Ajout de permissions")
|
||||
.setDescription(
|
||||
"Le niveau de permission doit être compris entre 1 et 5.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
|
||||
if (role === 'None') {
|
||||
db.run(`DELETE FROM rolePermission WHERE guildId = ? AND permission = ?`, [message.guild.id, args[1]]);
|
||||
if (role === "None") {
|
||||
db.run(
|
||||
`DELETE FROM rolePermission WHERE guildId = ? AND permission = ?`,
|
||||
[message.guild.id, args[1]],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Ajout de permissions')
|
||||
.setDescription(`Les permissions de niveau ${args[1]} ont été retirées.`)
|
||||
.setTitle("⏱️ Ajout de permissions")
|
||||
.setDescription(
|
||||
`Les permissions de niveau ${args[1]} ont été retirées.`,
|
||||
)
|
||||
.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(`INSERT OR REPLACE INTO rolePermission (guildId, roleId, permission) VALUES (?, ?, ?)`, [message.guild.id, role, args[1]]);
|
||||
db.run(
|
||||
`INSERT OR REPLACE INTO rolePermission (guildId, roleId, permission) VALUES (?, ?, ?)`,
|
||||
[message.guild.id, role, args[1]],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('⏱️ Ajout de permissions')
|
||||
.setDescription(`Le rôle <@&${role}> a maintenant la permission de niveau ${args[1]}.`)
|
||||
.setTitle("⏱️ Ajout de permissions")
|
||||
.setDescription(
|
||||
`Le rôle <@&${role}> a maintenant la permission de niveau ${args[1]}.`,
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
+287
-118
@@ -1,13 +1,29 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
const cardValues = {
|
||||
'A': 11, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '10': 10, 'J': 10, 'Q': 10, 'K': 10
|
||||
A: 11,
|
||||
2: 2,
|
||||
3: 3,
|
||||
4: 4,
|
||||
5: 5,
|
||||
6: 6,
|
||||
7: 7,
|
||||
8: 8,
|
||||
9: 9,
|
||||
10: 10,
|
||||
J: 10,
|
||||
Q: 10,
|
||||
K: 10,
|
||||
};
|
||||
|
||||
const cardSymbols = ['♠️', '♥️', '♦️', '♣️'];
|
||||
const cardSymbols = ["♠️", "♥️", "♦️", "♣️"];
|
||||
const usersWithGameInProgress = new Map();
|
||||
setInterval(() => {
|
||||
usersWithGameInProgress.clear();
|
||||
@@ -15,352 +31,505 @@ setInterval(() => {
|
||||
|
||||
function drawCard() {
|
||||
const symbol = cardSymbols[Math.floor(Math.random() * cardSymbols.length)];
|
||||
const value = Object.keys(cardValues)[Math.floor(Math.random() * Object.keys(cardValues).length)];
|
||||
const value =
|
||||
Object.keys(cardValues)[
|
||||
Math.floor(Math.random() * Object.keys(cardValues).length)
|
||||
];
|
||||
return { symbol, value };
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
aliases: ['bj'],
|
||||
description: 'Joue au blackjack.',
|
||||
emote: '🃏',
|
||||
utilisation: '<mise>',
|
||||
aliases: ["bj"],
|
||||
description: "Joue au blackjack.",
|
||||
emote: "🃏",
|
||||
utilisation: "<mise>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length !== 1) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🃏 Blackjack')
|
||||
.setDescription(`Vous devez spécifier une mise. Exemple : \`&blackjack 100\`.`)
|
||||
.setTitle("🃏 Blackjack")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise. Exemple : \`&blackjack 100\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else if (isNaN(args[0])) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🃏 Blackjack')
|
||||
.setTitle("🃏 Blackjack")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else if (args[0] < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🃏 Blackjack')
|
||||
.setTitle("🃏 Blackjack")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.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 pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (pocket < args[0]) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🃏 Blackjack')
|
||||
.setDescription(`Vous n'avez pas assez d'argent pour miser cette somme.`)
|
||||
.setTitle("🃏 Blackjack")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
const user = message.author;
|
||||
const guildId = message.guild.id;
|
||||
const currencyName = 'coins'
|
||||
const currencyName = "coins";
|
||||
|
||||
let amount = args[0];
|
||||
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
const playerCards = [drawCard(), drawCard()];
|
||||
const dealerCards = [drawCard()];
|
||||
|
||||
const playerTotal = playerCards.reduce((total, card) => total + cardValues[card.value], 0);
|
||||
const playerTotal = playerCards.reduce(
|
||||
(total, card) => total + cardValues[card.value],
|
||||
0,
|
||||
);
|
||||
if (playerTotal === 21 && playerCards.length === 2) {
|
||||
const blackjackPayoutMultiplier = 1.25;
|
||||
const winnings = Math.floor(amount * blackjackPayoutMultiplier);
|
||||
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount + winnings, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[pocketAmount + winnings, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const winEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setDescription(`Félicitations ! Vous avez un blackjack naturel et vous avez gagné ${winnings} ${currencyName}.`)
|
||||
.setColor('#0099ff');
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(
|
||||
`Félicitations ! Vous avez un blackjack naturel et vous avez gagné ${winnings} ${currencyName}.`,
|
||||
)
|
||||
.setColor("#0099ff");
|
||||
|
||||
return message.reply({ embeds: [winEmbed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [winEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setThumbnail('https://cdn.discordapp.com/attachments/1120446538544595005/1190016467257802843/kumarhane-poker.gif?ex=65a04433&is=658dcf33&hm=3ea3b7c74eb724d17249e3a60968f8c10b7d85452f3684b969a02a17ca79ab3e&')
|
||||
.addFields(
|
||||
{ name: 'Votre main', value: `Cartes: ${playerCards.map(card => card.symbol + ' ' + card.value).join(' ')}\nTotal: ${playerTotal}`, inline: true },
|
||||
{ name: 'Main du croupier', value: `Cartes: ${dealerCards[0].symbol + ' ' + dealerCards[0].value} ?\nTotal: ?`, inline: true }
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setThumbnail(
|
||||
"https://cdn.discordapp.com/attachments/1120446538544595005/1190016467257802843/kumarhane-poker.gif?ex=65a04433&is=658dcf33&hm=3ea3b7c74eb724d17249e3a60968f8c10b7d85452f3684b969a02a17ca79ab3e&",
|
||||
)
|
||||
.setColor('#0099ff');
|
||||
.addFields(
|
||||
{
|
||||
name: "Votre main",
|
||||
value: `Cartes: ${playerCards.map((card) => card.symbol + " " + card.value).join(" ")}\nTotal: ${playerTotal}`,
|
||||
inline: true,
|
||||
},
|
||||
{
|
||||
name: "Main du croupier",
|
||||
value: `Cartes: ${dealerCards[0].symbol + " " + dealerCards[0].value} ?\nTotal: ?`,
|
||||
inline: true,
|
||||
},
|
||||
)
|
||||
.setColor("#0099ff");
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
const row = new ActionRowBuilder().addComponents(
|
||||
new ButtonBuilder()
|
||||
.setCustomId('blackjack_hit')
|
||||
.setLabel('Hit')
|
||||
.setCustomId("blackjack_hit")
|
||||
.setLabel("Hit")
|
||||
.setStyle(ButtonStyle.Primary),
|
||||
new ButtonBuilder()
|
||||
.setCustomId('blackjack_stand')
|
||||
.setLabel('Stand')
|
||||
.setCustomId("blackjack_stand")
|
||||
.setLabel("Stand")
|
||||
.setStyle(ButtonStyle.Primary),
|
||||
new ButtonBuilder()
|
||||
.setCustomId('blackjack_cancel')
|
||||
.setLabel('Annuler')
|
||||
.setStyle(ButtonStyle.Danger)
|
||||
.setCustomId("blackjack_cancel")
|
||||
.setLabel("Annuler")
|
||||
.setStyle(ButtonStyle.Danger),
|
||||
);
|
||||
|
||||
const msg = await message.channel.send({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
const msg = await message.channel.send({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const collector = msg.createMessageComponentCollector({time: 60000 });
|
||||
const collector = msg.createMessageComponentCollector({ time: 60000 });
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount - amount, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[pocketAmount - amount, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
usersWithGameInProgress.set(user.id);
|
||||
collector.on('collect', async i => {
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.user.id !== user.id) {
|
||||
return i.reply({ content: ":x: Vous n'avez pas la permission d'interagir avec ces boutons", ephemeral: true });
|
||||
return i.reply({
|
||||
content:
|
||||
":x: Vous n'avez pas la permission d'interagir avec ces boutons",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
||||
await i.deferUpdate();
|
||||
|
||||
if (i.customId === 'blackjack_hit') {
|
||||
if (i.customId === "blackjack_hit") {
|
||||
playerCards.push(drawCard());
|
||||
|
||||
let playerTotal = playerCards.reduce((total, card) => total + cardValues[card.value], 0);
|
||||
let playerTotal = playerCards.reduce(
|
||||
(total, card) => total + cardValues[card.value],
|
||||
0,
|
||||
);
|
||||
|
||||
if (playerTotal === 21) {
|
||||
const winnings = amount * 1.5;
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount + winnings, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[pocketAmount + winnings, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const winEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setDescription(`Félicitations ! Vous avez atteint 21. Vous avez gagné ${winnings} ${currencyName}.`)
|
||||
.setColor('#0099ff');
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(
|
||||
`Félicitations ! Vous avez atteint 21. Vous avez gagné ${winnings} ${currencyName}.`,
|
||||
)
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [winEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [winEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
collector.stop();
|
||||
} else if (playerTotal > 21) {
|
||||
const loseEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setDescription(`Vous avez dépassé 21. Vous avez perdu ${amount} ${currencyName}.`)
|
||||
.setColor('#0099ff');
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(
|
||||
`Vous avez dépassé 21. Vous avez perdu ${amount} ${currencyName}.`,
|
||||
)
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [loseEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [loseEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
collector.stop();
|
||||
} else {
|
||||
embed.spliceFields(0, 1, { name: 'Votre main', value: `Cartes: ${playerCards.map(card => card.symbol + ' ' + card.value).join(' ')}\nTotal: ${playerTotal}`, inline: true });
|
||||
embed.spliceFields(0, 1, {
|
||||
name: "Votre main",
|
||||
value: `Cartes: ${playerCards.map((card) => card.symbol + " " + card.value).join(" ")}\nTotal: ${playerTotal}`,
|
||||
inline: true,
|
||||
});
|
||||
i.editReply({ embeds: [embed] });
|
||||
}
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
} else if (i.customId === 'blackjack_stand') {
|
||||
let dealerTotal = dealerCards.reduce((total, card) => total + cardValues[card.value], 0);
|
||||
} else if (i.customId === "blackjack_stand") {
|
||||
let dealerTotal = dealerCards.reduce(
|
||||
(total, card) => total + cardValues[card.value],
|
||||
0,
|
||||
);
|
||||
while (dealerTotal < 17) {
|
||||
dealerCards.push(drawCard());
|
||||
dealerTotal = dealerCards.reduce((total, card) => total + cardValues[card.value], 0);
|
||||
dealerTotal = dealerCards.reduce(
|
||||
(total, card) => total + cardValues[card.value],
|
||||
0,
|
||||
);
|
||||
}
|
||||
|
||||
const playerTotal = playerCards.reduce((total, card) => total + cardValues[card.value], 0);
|
||||
const playerTotal = playerCards.reduce(
|
||||
(total, card) => total + cardValues[card.value],
|
||||
0,
|
||||
);
|
||||
let result;
|
||||
if (dealerTotal > 21) {
|
||||
result = `Le croupier a dépassé 21. Vous gagnez ${amount * 1.5} ${currencyName}. !`;
|
||||
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount + amount * 1.5, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[
|
||||
pocketAmount + amount * 1.5,
|
||||
message.author.id,
|
||||
message.guild.id,
|
||||
],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const winEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(result)
|
||||
.setColor('#0099ff');
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [winEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [winEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
} else if (dealerTotal > playerTotal) {
|
||||
result = `Le croupier a ${dealerTotal} et gagne. Vous avez perdu ${amount} ${currencyName}.`;
|
||||
|
||||
const loseEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(result)
|
||||
.setColor('#0099ff');
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [loseEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [loseEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
|
||||
} else if (dealerTotal < playerTotal) {
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const winnings = amount * 1.5;
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount + winnings, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[pocketAmount + winnings, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
result = `Vous gagnez ! Vous avez gagné ${winnings} ${currencyName}.`;
|
||||
|
||||
const winEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(result)
|
||||
.setColor('#0099ff');
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [winEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [winEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
} else {
|
||||
result = 'Il y a eu égalité. Vous récupérez votre mise.';
|
||||
let pocketAmount = await db.get(`${guildId}.pocket.${user.id}`) || 0;
|
||||
result = "Il y a eu égalité. Vous récupérez votre mise.";
|
||||
let pocketAmount =
|
||||
(await db.get(`${guildId}.pocket.${user.id}`)) || 0;
|
||||
await db.set(`${guildId}.pocket.${user.id}`, pocketAmount + amount);
|
||||
|
||||
const tieEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(result)
|
||||
.setColor('#0099ff');
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [tieEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [tieEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
collector.stop();
|
||||
} else if (i.customId === 'blackjack_cancel') {
|
||||
} else if (i.customId === "blackjack_cancel") {
|
||||
let pocketAmount = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket || 0);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`, [pocketAmount + amount / 2, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = ? WHERE userId = ? AND guildId = ?`,
|
||||
[pocketAmount + amount / 2, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const cancelEmbed = new EmbedBuilder()
|
||||
.setTitle('Blackjack 🎲')
|
||||
.setDescription('Partie annulée. Vous récupérez la moitié de votre mise.')
|
||||
.setColor('#0099ff');
|
||||
.setTitle("Blackjack 🎲")
|
||||
.setDescription(
|
||||
"Partie annulée. Vous récupérez la moitié de votre mise.",
|
||||
)
|
||||
.setColor("#0099ff");
|
||||
|
||||
message.reply({ embeds: [cancelEmbed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [cancelEmbed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
usersWithGameInProgress.delete(user.id);
|
||||
collector.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
+112
-54
@@ -1,99 +1,157 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['roulette'],
|
||||
description: 'Lance une roulette 100% gagante. (coûte une clef)',
|
||||
emote: '🎲',
|
||||
utilisation: '',
|
||||
aliases: ["roulette"],
|
||||
description: "Lance une roulette 100% gagante. (coûte une clef)",
|
||||
emote: "🎲",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const key = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT key FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT key FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.key);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (key == 0) return message.reply('Tu n\'as pas de clef, tu ne peux pas ouvrir de box')
|
||||
db.run(`UPDATE users SET key = key - 1 WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id])
|
||||
if (key == 0)
|
||||
return message.reply("Tu n'as pas de clef, tu ne peux pas ouvrir de box");
|
||||
db.run(`UPDATE users SET key = key - 1 WHERE userId = ? AND guildId = ?`, [
|
||||
message.author.id,
|
||||
message.guild.id,
|
||||
]);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🗝️ Box')
|
||||
.setTitle("🗝️ Box")
|
||||
.setDescription(`🪙👑🗝️\n💰🔺🪙\n🪙🪙🗝️`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const msg = await message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
const msg = await message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
|
||||
const result = Math.floor(Math.random() * 30);
|
||||
let gain = '';
|
||||
let emoji = '';
|
||||
let recompense = '';
|
||||
let gain = "";
|
||||
let emoji = "";
|
||||
let recompense = "";
|
||||
if (result === 0) {
|
||||
gain = '30000';
|
||||
emoji = '💰';
|
||||
recompense = 'bank';
|
||||
gain = "30000";
|
||||
emoji = "💰";
|
||||
recompense = "bank";
|
||||
} else if (result === 1) {
|
||||
gain = '5';
|
||||
emoji = '🗝️';
|
||||
recompense = 'key';
|
||||
gain = "5";
|
||||
emoji = "🗝️";
|
||||
recompense = "key";
|
||||
} else if (result === 2) {
|
||||
emoji = '👑';
|
||||
recompense = 'couronne';
|
||||
emoji = "👑";
|
||||
recompense = "couronne";
|
||||
} else if (result % 2 === 0) {
|
||||
gain = '5000';
|
||||
emoji = '🪙';
|
||||
recompense = 'pocket';
|
||||
gain = "5000";
|
||||
emoji = "🪙";
|
||||
recompense = "pocket";
|
||||
} else {
|
||||
gain = '3';
|
||||
emoji = '🔺';
|
||||
recompense = 'reputation';
|
||||
gain = "3";
|
||||
emoji = "🔺";
|
||||
recompense = "reputation";
|
||||
}
|
||||
|
||||
if (recompense !== 'couronne') {
|
||||
if (recompense !== "couronne") {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET ${recompense} = ${recompense} + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET ${recompense} = ${recompense} + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
msg.delete()
|
||||
message.reply({ embeds: [
|
||||
msg.delete();
|
||||
message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🗝️ Box')
|
||||
.setDescription(`${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n\nVous avez gagner ${gain}${recompense} !`)
|
||||
.setTitle("🗝️ Box")
|
||||
.setDescription(
|
||||
`${(emoji, emoji, emoji)}\n${(emoji, emoji, emoji)}\n${(emoji, emoji, emoji)}\n\nVous avez gagner ${gain}${recompense} !`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
db.run(`UPDATE users SET bank = bank + ? WHERE userId = ? AND guildId = ?`, [15000, message.author.id, message.guild.id])
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [5000, message.author.id, message.guild.id])
|
||||
db.run(`UPDATE users SET reputation = reputation + ? WHERE userId = ? AND guildId = ?`, [5, message.author.id, message.guild.id])
|
||||
db.run(`UPDATE users SET key = key + ? WHERE userId = ? AND guildId = ?`, [5, message.author.id, message.guild.id])
|
||||
db.run(`UPDATE users SET xp = xp + ? WHERE userId = ? AND guildId = ?`, [50, message.author.id, message.guild.id])
|
||||
db.run(`UPDATE users SET lvl = lvl + ? WHERE userId = ? AND guildId = ?`, [2, message.author.id, message.guild.id])
|
||||
db.run(
|
||||
`UPDATE users SET bank = bank + ? WHERE userId = ? AND guildId = ?`,
|
||||
[15000, message.author.id, message.guild.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[5000, message.author.id, message.guild.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation + ? WHERE userId = ? AND guildId = ?`,
|
||||
[5, message.author.id, message.guild.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET key = key + ? WHERE userId = ? AND guildId = ?`,
|
||||
[5, message.author.id, message.guild.id],
|
||||
);
|
||||
db.run(`UPDATE users SET xp = xp + ? WHERE userId = ? AND guildId = ?`, [
|
||||
50,
|
||||
message.author.id,
|
||||
message.guild.id,
|
||||
]);
|
||||
db.run(
|
||||
`UPDATE users SET lvl = lvl + ? WHERE userId = ? AND guildId = ?`,
|
||||
[2, message.author.id, message.guild.id],
|
||||
);
|
||||
|
||||
msg.delete()
|
||||
message.reply({ embeds: [
|
||||
msg.delete();
|
||||
message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🗝️ Box')
|
||||
.setDescription(`${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n${emoji, emoji, emoji}\n\n## **Vous avez gagner \`15000\`coins en bank, \`5000\`coins en poche, \`5\`reputation, \`5\`clef, \`50\`xp et \`5\`niveau !!**`)
|
||||
.setTitle("🗝️ Box")
|
||||
.setDescription(
|
||||
`${(emoji, emoji, emoji)}\n${(emoji, emoji, emoji)}\n${(emoji, emoji, emoji)}\n\n## **Vous avez gagner \`15000\`coins en bank, \`5000\`coins en poche, \`5\`reputation, \`5\`clef, \`50\`xp et \`5\`niveau !!**`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
}
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag} | Il te reste ${key - 1}clef`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+152
-72
@@ -1,109 +1,169 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['dice', 'dé'],
|
||||
description: 'Lance un dé.',
|
||||
emote: '🎲',
|
||||
utilisation: '<mise> <face1> <face2>',
|
||||
aliases: ["dice", "dé"],
|
||||
description: "Lance un dé.",
|
||||
emote: "🎲",
|
||||
utilisation: "<mise> <face1> <face2>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let mise = 0
|
||||
let face = `${args[1]}\` et \`${args[2]}`
|
||||
let mise = 0;
|
||||
let face = `${args[1]}\` et \`${args[2]}`;
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (args[0] == 'all') {
|
||||
mise = pocket
|
||||
if (args[0] == "all") {
|
||||
mise = pocket;
|
||||
} else {
|
||||
mise = args[0]
|
||||
mise = args[0];
|
||||
}
|
||||
|
||||
if (pocket < mise) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.length !== 3) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setDescription(`Vous devez spécifier une mise et deux face. Exemple : \`&dice 100 1 2\`.`)
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise et deux face. Exemple : \`&dice 100 1 2\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (isNaN(args[0]) && !args[0] == "all") {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (mise < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
} else if (!face.includes(1) && !face.includes(2) && !face.includes(3) && !face.includes(4) && !face.includes(5) && !face.includes(6)) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (
|
||||
!face.includes(1) &&
|
||||
!face.includes(2) &&
|
||||
!face.includes(3) &&
|
||||
!face.includes(4) &&
|
||||
!face.includes(5) &&
|
||||
!face.includes(6)
|
||||
) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(`La face doit être 1, 2, 3, 4, 5 ou 6.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setImage('https://cdn.discordapp.com/attachments/1120446538544595005/1195513783997714564/dice.gif?')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${face}\`. Le dé tourne...\nRésultat dans 7.5 secondes...`)
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setImage(
|
||||
"https://cdn.discordapp.com/attachments/1120446538544595005/1195513783997714564/dice.gif?",
|
||||
)
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${face}\`. Le dé tourne...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 6) + 1;
|
||||
let gain = 0;
|
||||
@@ -114,39 +174,59 @@ module.exports = {
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (gain >= 0) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${face}\` et le dé est tombée sur \`${result}\`. Vous avez gagné \`${gain}\` !`)
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${face}\` et le dé est tombée sur \`${result}\`. Vous avez gagné \`${gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Lancer de dé')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${face}\` et le dé est tombée sur \`${result}\`. Vous avez perdu \`${0 - gain}\` !`)
|
||||
.setTitle("🎲 Lancer de dé")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${face}\` et le dé est tombée sur \`${result}\`. Vous avez perdu \`${0 - gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
+283
-124
@@ -1,12 +1,17 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: [],
|
||||
description: 'Joue au gunfight.',
|
||||
emote: '🔫',
|
||||
utilisation: '<@membre> <mise>',
|
||||
description: "Joue au gunfight.",
|
||||
emote: "🔫",
|
||||
utilisation: "<@membre> <mise>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -22,84 +27,133 @@ module.exports = {
|
||||
member = args[0];
|
||||
mise = args[1];
|
||||
} else {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Vous devez spécifier un membre et une mise. Exemple : \`&gunfight @membre 100\`.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Vous devez spécifier un membre et une mise. Exemple : \`&gunfight @membre 100\`.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (!member || !mise) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Vous devez spécifier un membre et une mise. Exemple : \`&gunfight @membre 100\`.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Vous devez spécifier un membre et une mise. Exemple : \`&gunfight @membre 100\`.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (isNaN(mise)) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (mise < 25) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (member === message.author.id) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Vous ne pouvez pas jouer contre vous-même.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (member === client.user.id) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Je ne peux pas jouer contre vous désolé.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (client.users.cache.get(member)?.bot) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription('Vous ne pouvez pas jouer contre un bot.')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription("Vous ne pouvez pas jouer contre un bot.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const pocketUser = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -109,11 +163,15 @@ module.exports = {
|
||||
resolve(null);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const pocketMember = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE userId = ? AND guildId = ?`, [member, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[member, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -123,130 +181,204 @@ module.exports = {
|
||||
resolve(null);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (pocketUser === null) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Vous n'êtes pas enregistré dans la base de données.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Vous n'êtes pas enregistré dans la base de données.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (pocketMember === null) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Le membre 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 } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (pocketUser < mise) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.\nVotre solde actuel est de ${pocketUser} coins.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.\nVotre solde actuel est de ${pocketUser} coins.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (pocketMember < mise) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Ce membre n'a pas assez d'argent sur lui pour miser cette somme.\nSon solde actuel est de ${pocketMember} coins.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Ce membre n'a pas assez d'argent sur lui pour miser cette somme.\nSon solde actuel est de ${pocketMember} coins.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (pocketUser === 0) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Vous n'avez pas d'argent sur vous pour miser.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (pocketMember === 0) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Ce membre n'a pas d'argent sur lui pour miser.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Vous avez défié <@${member}> à un duel de gunfight pour une mise de ${mise} coins.\nVeuillez appuyer sur le bouton pour accepter ou refuser le défi.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Vous avez défié <@${member}> à un duel de gunfight pour une mise de ${mise} coins.\nVeuillez appuyer sur le bouton pour accepter ou refuser le défi.`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const buttonAccept = new ButtonBuilder()
|
||||
.setCustomId('gunfight-accept')
|
||||
.setLabel('Accepter')
|
||||
.setCustomId("gunfight-accept")
|
||||
.setLabel("Accepter")
|
||||
.setStyle(ButtonStyle.Success);
|
||||
|
||||
const buttonRefuse = new ButtonBuilder()
|
||||
.setCustomId('gunfight-refuse')
|
||||
.setLabel('Refuser')
|
||||
.setCustomId("gunfight-refuse")
|
||||
.setLabel("Refuser")
|
||||
.setStyle(ButtonStyle.Danger);
|
||||
|
||||
const actionRow = new ActionRowBuilder()
|
||||
.addComponents(buttonAccept, buttonRefuse);
|
||||
const actionRow = new ActionRowBuilder().addComponents(
|
||||
buttonAccept,
|
||||
buttonRefuse,
|
||||
);
|
||||
|
||||
const sendMessage = await message.reply({ embeds: [embed], components: [actionRow], allowedMentions: { repliedUser: false } });
|
||||
const sendMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [actionRow],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = i => i.user.id === member;
|
||||
const collector = sendMessage.createMessageComponentCollector({ filter, time: 60000 });
|
||||
collector.on('collect', async i => {
|
||||
if (i.customId === 'gunfight-accept') {
|
||||
const filter = (i) => i.user.id === member;
|
||||
const collector = sendMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.customId === "gunfight-accept") {
|
||||
collector.stop();
|
||||
i.deferUpdate();
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket - ? WHERE userId = ? AND guildId = ?`, [mise, message.author.id, message.guild.id]);
|
||||
db.run(`UPDATE users SET pocket = pocket - ? WHERE userId = ? AND guildId = ?`, [mise, member, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ? WHERE userId = ? AND guildId = ?`,
|
||||
[mise, message.author.id, message.guild.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - ? WHERE userId = ? AND guildId = ?`,
|
||||
[mise, member, message.guild.id],
|
||||
);
|
||||
|
||||
const tirerBtn = new ButtonBuilder()
|
||||
.setCustomId('gunfight-tirer')
|
||||
.setLabel('Tirer')
|
||||
.setCustomId("gunfight-tirer")
|
||||
.setLabel("Tirer")
|
||||
.setStyle(ButtonStyle.Danger);
|
||||
|
||||
const actionRow = new ActionRowBuilder()
|
||||
.addComponents(tirerBtn);
|
||||
const actionRow = new ActionRowBuilder().addComponents(tirerBtn);
|
||||
|
||||
sendMessage.edit({ embeds: [
|
||||
sendMessage.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Le membre a accepté votre défi de gunfight. Le duel va commencer.\nAppuyez sur le bouton pour tirer quand il devient vert.`)
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Le membre a accepté votre défi de gunfight. Le duel va commencer.\nAppuyez sur le bouton pour tirer quand il devient vert.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], components: [actionRow] });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [actionRow],
|
||||
});
|
||||
|
||||
const timer = Math.floor(Math.random() * 10000) + 5000
|
||||
const timer = Math.floor(Math.random() * 10000) + 5000;
|
||||
let fincollector = false;
|
||||
const filter = i => i.user.id === member || i.user.id === message.member.id;
|
||||
const tirerCollector = sendMessage.createMessageComponentCollector({ filter, time: timer });
|
||||
tirerCollector.on('collect', async i => {
|
||||
if (i.customId === 'gunfight-tirer') {
|
||||
const filter = (i) =>
|
||||
i.user.id === member || i.user.id === message.member.id;
|
||||
const tirerCollector = sendMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: timer,
|
||||
});
|
||||
tirerCollector.on("collect", async (i) => {
|
||||
if (i.customId === "gunfight-tirer") {
|
||||
fincollector = true;
|
||||
tirerCollector.stop();
|
||||
sendMessage.edit({ components: [] });
|
||||
@@ -261,55 +393,82 @@ module.exports = {
|
||||
notwinner = member;
|
||||
}
|
||||
|
||||
i.reply({ embeds: [
|
||||
i.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Le duel est terminé. <@${winner}> a gagné la somme de ${mise*2} coins car <@${notwinner}> a tiré trop tôt`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
] });
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Le duel est terminé. <@${winner}> a gagné la somme de ${mise * 2} coins car <@${notwinner}> a tiré trop tôt`,
|
||||
)
|
||||
.setColor(
|
||||
await embedColor(message.author.id, message.guild.id),
|
||||
)
|
||||
.setTimestamp(),
|
||||
],
|
||||
});
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [mise*2, winner, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[mise * 2, winner, message.guild.id],
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
tirerCollector.on('end', async () => {
|
||||
tirerCollector.on("end", async () => {
|
||||
if (fincollector) return;
|
||||
tirerBtn.setStyle(ButtonStyle.Success);
|
||||
sendMessage.edit({ components: [actionRow] });
|
||||
|
||||
const filter = i => i.user.id === member || i.user.id === message.member.id;
|
||||
const tirerCollector = sendMessage.createMessageComponentCollector({ filter, time: 60000 });
|
||||
tirerCollector.on('collect', async i => {
|
||||
if (i.customId === 'gunfight-tirer') {
|
||||
const filter = (i) =>
|
||||
i.user.id === member || i.user.id === message.member.id;
|
||||
const tirerCollector = sendMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
tirerCollector.on("collect", async (i) => {
|
||||
if (i.customId === "gunfight-tirer") {
|
||||
tirerCollector.stop();
|
||||
sendMessage.edit({ components: [] });
|
||||
|
||||
i.reply({ embeds: [
|
||||
i.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setDescription(`Le duel est terminé. <@${i.user.id}> a gagné la somme de ${mise*2} coins.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
] });
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(
|
||||
`Le duel est terminé. <@${i.user.id}> a gagné la somme de ${mise * 2} coins.`,
|
||||
)
|
||||
.setColor(
|
||||
await embedColor(message.author.id, message.guild.id),
|
||||
)
|
||||
.setTimestamp(),
|
||||
],
|
||||
});
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [mise*2, i.user.id, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[mise * 2, i.user.id, message.guild.id],
|
||||
);
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
} else if (i.customId === 'gunfight-refuse') {
|
||||
} else if (i.customId === "gunfight-refuse") {
|
||||
collector.stop();
|
||||
sendMessage.edit({ embeds: [
|
||||
sendMessage.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🔫 Gunfight')
|
||||
.setTitle("🔫 Gunfight")
|
||||
.setDescription(`Le membre a refusé votre défi de gunfight.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], components: [] });
|
||||
}
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
+152
-73
@@ -1,151 +1,230 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['slot'],
|
||||
description: 'Lance la machine à sous (si 3caractère identique, tu remporte 3fois ta mise).',
|
||||
emote: '🪙',
|
||||
utilisation: '<mise>',
|
||||
aliases: ["slot"],
|
||||
description:
|
||||
"Lance la machine à sous (si 3caractère identique, tu remporte 3fois ta mise).",
|
||||
emote: "🪙",
|
||||
utilisation: "<mise>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length !== 1) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setDescription(`Vous devez spécifier une mise. Exemple : \`&machine-a-sous 100\`.`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise. Exemple : \`&machine-a-sous 100\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (isNaN(args[0])) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (args[0] < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], async (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
async (err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
if (pocket < args[0]) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setImage('https://cdn.discordapp.com/attachments/1244326671730086049/1246142849955664093/3OkKuOYO.1245413015365488731.gif?ex=665b5077&is=6659fef7&hm=94eb9000c433e25e2e9a2355e693eb8e01b5d27fa250a8889f6098f14bf67a80&')
|
||||
.setDescription(`Vous avez misé \`${args[0]}\`. Les chiffres deffilent...\nRésultat dans 7.5 secondes...`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setImage(
|
||||
"https://cdn.discordapp.com/attachments/1244326671730086049/1246142849955664093/3OkKuOYO.1245413015365488731.gif?ex=665b5077&is=6659fef7&hm=94eb9000c433e25e2e9a2355e693eb8e01b5d27fa250a8889f6098f14bf67a80&",
|
||||
)
|
||||
.setDescription(
|
||||
`Vous avez misé \`${args[0]}\`. Les chiffres deffilent...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
let nombre1 = await Math.floor(Math.random() * 10)
|
||||
let nombre2 = await Math.floor(Math.random() * (nombre1 + 1))
|
||||
let nombre3 = await Math.floor(Math.random() * (nombre2 + 2))
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
let nombre1 = await Math.floor(Math.random() * 10);
|
||||
let nombre2 = await Math.floor(Math.random() * (nombre1 + 1));
|
||||
let nombre3 = await Math.floor(Math.random() * (nombre2 + 2));
|
||||
|
||||
let gain = 0;
|
||||
if (nombre1 === nombre2 === nombre3) {
|
||||
if ((nombre1 === nombre2) === nombre3) {
|
||||
gain = args[0] * 10;
|
||||
} else if ((nombre1 === nombre2) || (nombre1 === nombre3) || (nombre2 == nombre3)) {
|
||||
} else if (
|
||||
nombre1 === nombre2 ||
|
||||
nombre1 === nombre3 ||
|
||||
nombre2 == nombre3
|
||||
) {
|
||||
gain = args[0] * 2;
|
||||
} else {
|
||||
gain = 0 - args[0];
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (gain == args[0] * 10) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setDescription(`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous avez gagné \`${gain}\` !`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous avez gagné \`${gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (gain == args[0] * 2) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setDescription(`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous gagner deux fois votre mise (\`${gain}\`) car deux nombres sont identiques :wink: !`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous gagner deux fois votre mise (\`${gain}\`) car deux nombres sont identiques :wink: !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Machine à sous')
|
||||
.setDescription(`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous avez perdu \`${0 - gain}\` !\n\nLa probabilité de ne pas perdre à ce jeu est inferieur à 5%. La mise en cas de gain est donc mutiplier par 10`)
|
||||
.setTitle("🪙 Machine à sous")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${args[0]}\` et les nombres sont : ${nombre1}, ${nombre2}, ${nombre3}. Vous avez perdu \`${0 - gain}\` !\n\nLa probabilité de ne pas perdre à ce jeu est inferieur à 5%. La mise en cas de gain est donc mutiplier par 10`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,151 +1,227 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['pfc'],
|
||||
description: 'Joue au pierre feuille ciseau.',
|
||||
emote: '🎲',
|
||||
utilisation: '<mise> <pierre|feuille|ciseau>',
|
||||
aliases: ["pfc"],
|
||||
description: "Joue au pierre feuille ciseau.",
|
||||
emote: "🎲",
|
||||
utilisation: "<mise> <pierre|feuille|ciseau>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length !== 2) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setDescription(`Vous devez spécifier une mise et un coup. Exemple : \`&pierre-feuille-ciseau 100 pierre\`.`)
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise et un coup. Exemple : \`&pierre-feuille-ciseau 100 pierre\`.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (isNaN(args[0])) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] < 25) {
|
||||
return message.reply({ embeds: [
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
|
||||
} else if (args[1] !== 'pierre' && args[1] !== 'p' && args[1] !== 'feuille' && args[1] !== 'f' && args[1] !== 'ciseau' && args[1] !== 'c') {
|
||||
return message.reply({ embeds: [
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (
|
||||
args[1] !== "pierre" &&
|
||||
args[1] !== "p" &&
|
||||
args[1] !== "feuille" &&
|
||||
args[1] !== "f" &&
|
||||
args[1] !== "ciseau" &&
|
||||
args[1] !== "c"
|
||||
) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setDescription(`La coup doit être \`pierre\`, \`feuille\` ou \`ciseau\`.`)
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(
|
||||
`La coup doit être \`pierre\`, \`feuille\` ou \`ciseau\`.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], async (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
async (err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (pocket < args[0]) return message.reply({
|
||||
if (pocket < args[0])
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const sendMessage = await message.reply({ embeds: [
|
||||
const sendMessage = await message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setDescription(`Vous avez misé(e) \`${args[0]}\` coins sur \`${args[1]}\`...\nRésultat dans 7.5 secondes...`)
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(
|
||||
`Vous avez misé(e) \`${args[0]}\` coins sur \`${args[1]}\`...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 2);
|
||||
let coupBot = ''
|
||||
let coupBotA = ''
|
||||
let coupBot = "";
|
||||
let coupBotA = "";
|
||||
if (result === 0) {
|
||||
coupBot = 'feuille';
|
||||
coupBotA = 'f'
|
||||
coupBot = "feuille";
|
||||
coupBotA = "f";
|
||||
} else if (result === 1) {
|
||||
coupBot = 'ciseau';
|
||||
coupBotA = 'c'
|
||||
coupBot = "ciseau";
|
||||
coupBotA = "c";
|
||||
} else {
|
||||
coupBot = 'pierre';
|
||||
coupBotA = 'p'
|
||||
coupBot = "pierre";
|
||||
coupBotA = "p";
|
||||
}
|
||||
|
||||
let gain = args[0];
|
||||
let description = ''
|
||||
let coupUser = ''
|
||||
let win = false
|
||||
if (args[1] == 'p' || args[1] == 'pierre') {
|
||||
coupUser = 'p'
|
||||
let description = "";
|
||||
let coupUser = "";
|
||||
let win = false;
|
||||
if (args[1] == "p" || args[1] == "pierre") {
|
||||
coupUser = "p";
|
||||
}
|
||||
if (args[1] == 'f' || args[1] == 'feuille') {
|
||||
coupUser = 'f'
|
||||
if (args[1] == "f" || args[1] == "feuille") {
|
||||
coupUser = "f";
|
||||
}
|
||||
if (args[1] == 'c' || args[1] == 'ciseau') {
|
||||
coupUser = 'c'
|
||||
if (args[1] == "c" || args[1] == "ciseau") {
|
||||
coupUser = "c";
|
||||
}
|
||||
|
||||
if (args[1] === coupBot || args[1] === coupBotA) {
|
||||
gain = 0
|
||||
description = 'A refaire, le bot a jouer `' + coupBot + '`, comme toi...';
|
||||
} else if (coupUser == 'p' && coupBotA == 'c') {
|
||||
win = true
|
||||
} else if (coupUser == 'f' && coupBotA == 'p') {
|
||||
win = true
|
||||
} else if (coupUser == 'c' && coupBotA == 'f') {
|
||||
win = true
|
||||
gain = 0;
|
||||
description = "A refaire, le bot a jouer `" + coupBot + "`, comme toi...";
|
||||
} else if (coupUser == "p" && coupBotA == "c") {
|
||||
win = true;
|
||||
} else if (coupUser == "f" && coupBotA == "p") {
|
||||
win = true;
|
||||
} else if (coupUser == "c" && coupBotA == "f") {
|
||||
win = true;
|
||||
} else {
|
||||
gain = 0 - args[0];
|
||||
description = 'Tu as perdu `' + args[0] + '`coins... Le bot a jouer `' + coupBot + '` !';
|
||||
description =
|
||||
"Tu as perdu `" +
|
||||
args[0] +
|
||||
"`coins... Le bot a jouer `" +
|
||||
coupBot +
|
||||
"` !";
|
||||
}
|
||||
|
||||
if (win == true) {
|
||||
gain = gain * 2
|
||||
description = 'Bravo, tu as gagné(e) `' + gain + '` coins car le bot a jouer `' + coupBot + '` !'
|
||||
gain = gain * 2;
|
||||
description =
|
||||
"Bravo, tu as gagné(e) `" +
|
||||
gain +
|
||||
"` coins car le bot a jouer `" +
|
||||
coupBot +
|
||||
"` !";
|
||||
}
|
||||
|
||||
sendMessage.edit({ embeds: [
|
||||
sendMessage.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🪨 Pierre Feuille Ciseau')
|
||||
.setTitle("🪨 Pierre Feuille Ciseau")
|
||||
.setDescription(description)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+156
-75
@@ -1,157 +1,238 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['pf'],
|
||||
description: 'Lance une piece.',
|
||||
emote: '🎲',
|
||||
utilisation: '<mise> <cote>',
|
||||
aliases: ["pf"],
|
||||
description: "Lance une piece.",
|
||||
emote: "🎲",
|
||||
utilisation: "<mise> <cote>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let mise = 0
|
||||
let mise = 0;
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (args[0] == 'all') {
|
||||
mise = pocket
|
||||
if (args[0] == "all") {
|
||||
mise = pocket;
|
||||
} else {
|
||||
mise = args[0]
|
||||
mise = args[0];
|
||||
}
|
||||
|
||||
if (pocket < mise) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.length !== 2) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setDescription(`Vous devez spécifier une mise et un côté. Exemple : \`&pile-face 100 pile\`.`)
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise et un côté. Exemple : \`&pile-face 100 pile\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (isNaN(args[0]) && !args[0] == "all") {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (mise < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
} else if (args[1] !== 'pile' && args[1] !== 'face' && args[1] !== 'p' && args[1] !== 'f') {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (
|
||||
args[1] !== "pile" &&
|
||||
args[1] !== "face" &&
|
||||
args[1] !== "p" &&
|
||||
args[1] !== "f"
|
||||
) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(`Le côté doit être \`pile\` ou \`face\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setImage('https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\`. la pièce tourne...\nRésultat dans 7.5 secondes...`)
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setImage(
|
||||
"https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif",
|
||||
)
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\`. la pièce tourne...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 2);
|
||||
let colorR = '';
|
||||
let colorR = "";
|
||||
if (result === 0) {
|
||||
colorR = 'pile';
|
||||
colorR = "pile";
|
||||
} else {
|
||||
colorR = 'face';
|
||||
colorR = "face";
|
||||
}
|
||||
|
||||
let gain = 0;
|
||||
if (((args[1] === 'pile' || args[1] === 'p') && colorR === 'pile') || ((args[1] === 'face' || args[1] === 'f') && colorR === 'face')) {
|
||||
if (
|
||||
((args[1] === "pile" || args[1] === "p") && colorR === "pile") ||
|
||||
((args[1] === "face" || args[1] === "f") && colorR === "face")
|
||||
) {
|
||||
gain = Math.round(mise * 1.5);
|
||||
} else {
|
||||
gain = 0 - mise;
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (gain >= 0) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la pièce est tombée sur \`${colorR}\`. Vous avez gagné \`${gain}\` !`)
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la pièce est tombée sur \`${colorR}\`. Vous avez gagné \`${gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🪙 Pile ou face')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la pièce est tombée sur \`${colorR}\`. Vous avez perdu \`${0 - gain}\` !`)
|
||||
.setTitle("🪙 Pile ou face")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la pièce est tombée sur \`${colorR}\`. Vous avez perdu \`${0 - gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
+114
-57
@@ -1,87 +1,124 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['pouletfight', 'pfight', 'poulet'],
|
||||
description: 'Fait un combat de poulet.',
|
||||
emote: '🐔',
|
||||
utilisation: '<mise>',
|
||||
aliases: ["pouletfight", "pfight", "poulet"],
|
||||
description: "Fait un combat de poulet.",
|
||||
emote: "🐔",
|
||||
utilisation: "<mise>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let mise = 0
|
||||
let mise = 0;
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (args[0] == 'all') {
|
||||
mise = pocket
|
||||
if (args[0] == "all") {
|
||||
mise = pocket;
|
||||
} else {
|
||||
mise = args[0]
|
||||
mise = args[0];
|
||||
}
|
||||
|
||||
if (pocket < mise) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🐔 Poulet")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (isNaN(args[0]) && !args[0] == "all") {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setTitle("🐔 Poulet")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (mise < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setTitle("🐔 Poulet")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setTitle("🐔 Poulet")
|
||||
//.setImage('') // image de combat de poulet
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet. Les poulets se battent...\nRésultat dans 7.5 secondes...`)
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur votre poulet. Les poulets se battent...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 2);
|
||||
let win = '';
|
||||
let win = "";
|
||||
if (result === 0) {
|
||||
win = true;
|
||||
} else {
|
||||
@@ -96,39 +133,59 @@ module.exports = {
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (gain >= 0) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a gagné ! Vous avez gagné \`${gain}\`coins !`)
|
||||
.setTitle("🐔 Poulet")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a gagné ! Vous avez gagné \`${gain}\`coins !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🐔 Poulet')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a perdu. Vous avez perdu \`${0 - gain}\`coins !`)
|
||||
.setTitle("🐔 Poulet")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur votre poulet et votre poulet a perdu. Vous avez perdu \`${0 - gain}\`coins !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
+166
-78
@@ -1,162 +1,250 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['roulette'],
|
||||
description: 'Lance une roulette.',
|
||||
emote: '🎲',
|
||||
utilisation: '<mise> <couleur>',
|
||||
aliases: ["roulette"],
|
||||
description: "Lance une roulette.",
|
||||
emote: "🎲",
|
||||
utilisation: "<mise> <couleur>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
let mise = 0
|
||||
let mise = 0;
|
||||
const pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT pocket FROM users WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(row.pocket);
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
if (args[0] == 'all') {
|
||||
mise = pocket
|
||||
if (args[0] == "all") {
|
||||
mise = pocket;
|
||||
} else {
|
||||
mise = args[0]
|
||||
mise = args[0];
|
||||
}
|
||||
|
||||
if (args.length !== 2) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setDescription(`Vous devez spécifier une mise et une couleur. Exemple : \`&roulette 100 rouge\`.`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(
|
||||
`Vous devez spécifier une mise et une couleur. Exemple : \`&roulette 100 rouge\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (isNaN(args[0]) && !args[0] == "all") {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(`La mise doit être un nombre.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (mise < 25) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(`La mise doit être supérieure ou égale à \`25\`.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
} else if (args[1] !== 'rouge' && args[1] !== 'noir' && args[1] !== 'vert' && args[1] !== 'red' && args[1] !== 'black' && args[1] !== 'green') {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else if (
|
||||
args[1] !== "rouge" &&
|
||||
args[1] !== "noir" &&
|
||||
args[1] !== "vert" &&
|
||||
args[1] !== "red" &&
|
||||
args[1] !== "black" &&
|
||||
args[1] !== "green"
|
||||
) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setDescription(`La couleur doit être \`rouge\`, \`noir\` ou \`vert\`.`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(
|
||||
`La couleur doit être \`rouge\`, \`noir\` ou \`vert\`.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (pocket < mise) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setDescription(`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez d'argent sur vous pour miser cette somme.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setImage('https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\`. La bille tourne...\nRésultat dans 7.5 secondes...`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setImage(
|
||||
"https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif",
|
||||
)
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\`. La bille tourne...\nRésultat dans 7.5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
await new Promise(resolve => setTimeout(resolve, 7500));
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, 7500));
|
||||
|
||||
const result = Math.floor(Math.random() * 37);
|
||||
let colorR = '';
|
||||
let colorR = "";
|
||||
if (result === 0) {
|
||||
colorR = 'vert';
|
||||
colorR = "vert";
|
||||
} else if (result % 2 === 0) {
|
||||
colorR = 'rouge';
|
||||
colorR = "rouge";
|
||||
} else {
|
||||
colorR = 'noir';
|
||||
colorR = "noir";
|
||||
}
|
||||
|
||||
let gain = 0;
|
||||
if (((args[1] === 'rouge' || args[1] === 'red') && colorR === 'rouge') || ((args[1] === 'noir' || args[1] === 'black') && colorR === 'noir')) {
|
||||
if (
|
||||
((args[1] === "rouge" || args[1] === "red") && colorR === "rouge") ||
|
||||
((args[1] === "noir" || args[1] === "black") && colorR === "noir")
|
||||
) {
|
||||
gain = Math.round(mise * 1.5);
|
||||
} else if ((args[1] === 'vert' || args[1] === 'green') && colorR === 'vert') {
|
||||
} else if (
|
||||
(args[1] === "vert" || args[1] === "green") &&
|
||||
colorR === "vert"
|
||||
) {
|
||||
gain = mise * 36;
|
||||
} else {
|
||||
gain = 0 - mise;
|
||||
}
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`, [gain, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ? WHERE userId = ? AND guildId = ?`,
|
||||
[gain, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (gain >= 0) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la bille est tombée sur \`${colorR}\`. Vous avez gagné \`${gain}\` !`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la bille est tombée sur \`${colorR}\`. Vous avez gagné \`${gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🎲 Roulette')
|
||||
.setDescription(`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la bille est tombée sur \`${colorR}\`. Vous avez perdu \`${0 - gain}\` !`)
|
||||
.setTitle("🎲 Roulette")
|
||||
.setDescription(
|
||||
`Vous avez misé \`${mise}\` sur \`${args[1]}\` et la bille est tombée sur \`${colorR}\`. Vous avez perdu \`${0 - gain}\` !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
+145
-63
@@ -1,97 +1,151 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['braquage'],
|
||||
description: 'Tente un braquage. (cout : 5rep)',
|
||||
emote: '🏦',
|
||||
utilisation: '<@membre>',
|
||||
aliases: ["braquage"],
|
||||
description: "Tente un braquage. (cout : 5rep)",
|
||||
emote: "🏦",
|
||||
utilisation: "<@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
/////////////////////////////// Calcule des données de la cible ////////////////////////////////////////////////
|
||||
|
||||
const cible = message.mentions.users.first();
|
||||
if (!cible) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous devez mentionner un membre.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous devez mentionner un membre.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.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 cibleBD = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, cible.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, cible.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
if (cibleBD.bank <= 100) {
|
||||
return message.reply('votre cible n\'a pas suffisament de coins en bank pour etre voler.')
|
||||
return message.reply(
|
||||
"votre cible n'a pas suffisament de coins en bank pour etre voler.",
|
||||
);
|
||||
}
|
||||
|
||||
/////////////////////////////// Calcule des données du message.author /////////////////////////////////////////
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
const usercoinsEnBank = user.bank
|
||||
const usercoinsEnBank = user.bank;
|
||||
if (usercoinsEnBank < 8) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Braquage Impossible')
|
||||
.setDescription(`❌ Vous n'avez pas assez de reputation. Il faut \`8\` reputation mais vous n'avez que \`${usercoinsEnBank}\`reputation`)
|
||||
.setTitle("Braquage Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous n'avez pas assez de reputation. Il faut \`8\` reputation mais vous n'avez que \`${usercoinsEnBank}\`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(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
const lastBraquage = user.lastBraquage
|
||||
const lastBraquage = user.lastBraquage;
|
||||
if (lastBraquage > Date.now() - 7200000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Braquage Impossible')
|
||||
.setDescription(`❌ Vous avez déjà braquage récemment. Veuillez attendre ${Math.floor((lastBraquage + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir braquer à nouveau.`)
|
||||
.setTitle("Braquage Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà braquage récemment. Veuillez attendre ${Math.floor((lastBraquage + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir braquer à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
///////////////////////////////// Payage + MaJ du braquage /////////////////////////////////////////////////////
|
||||
|
||||
db.run(`UPDATE users SET reputation = reputation - 5 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation - 5 WHERE guildId =? AND userId =?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
db.run(`UPDATE users SET lastBraquage =? WHERE guildId =? AND userId =?`, [Date.now(), message.guild.id, message.author.id], (err) => {
|
||||
},
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET lastBraquage =? WHERE guildId =? AND userId =?`,
|
||||
[Date.now(), message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
/////////////////////////////////// Affichage du 1er msg ///////////////////////////////////////////////////////
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔐 Braquage')
|
||||
.setImage('https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif')
|
||||
.setDescription(`Vous braquer la banque de ${cible}. La porte du coffre s'ouvre...\nRésultat dans 5 secondes...`)
|
||||
.setTitle("🔐 Braquage")
|
||||
.setImage(
|
||||
"https://images-ext-1.discordapp.net/external/Zz7GmmFoFdFRB7GCjiJGaDHDjJi8noOLY8zasCmUOGQ/https/media.giphy.com/media/26uflBhaGt5lQsaCA/giphy.gif",
|
||||
)
|
||||
.setDescription(
|
||||
`Vous braquer la banque de ${cible}. La porte du coffre s'ouvre...\nRésultat dans 5 secondes...`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
await new Promise(resolve => setTimeout(resolve, 5000));
|
||||
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
await new Promise((resolve) => setTimeout(resolve, 5000));
|
||||
|
||||
/////////////////////////////////// Calcule des resultats ///////////////////////////////////////////////////////
|
||||
|
||||
@@ -103,63 +157,91 @@ module.exports = {
|
||||
coinsEnBank = Math.floor(Math.random() * (cibleBD.bank / 2));
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET bank = bank - ? WHERE userId = ? AND guildId = ?`, [coinsEnBank, message.author.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET bank = bank - ? WHERE userId = ? AND guildId = ?`,
|
||||
[coinsEnBank, message.author.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET bank = bank + ? WHERE userId = ? AND guildId = ?`, [coinsEnBank, cible.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET bank = bank + ? WHERE userId = ? AND guildId = ?`,
|
||||
[coinsEnBank, cible.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
} else {
|
||||
gain = 0;
|
||||
coinsEnBank = 0
|
||||
coinsEnBank = 0;
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE users SET bank = bank - 3 WHERE userId = ? AND guildId = ?`, [cible.id, message.guild.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET bank = bank - 3 WHERE userId = ? AND guildId = ?`,
|
||||
[cible.id, message.guild.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
//////////////////////////////////// Affichage de la reponse ///////////////////////////////////////////////////
|
||||
|
||||
if (gain == 1) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔐 Braquage')
|
||||
.setDescription(`Vous avez braquer <@${cible.id}> et vous n'etes pas tomber sur un agent de securité. Vous avez gagné \`${coinsEnBank}\`coins !`)
|
||||
.setTitle("🔐 Braquage")
|
||||
.setDescription(
|
||||
`Vous avez braquer <@${cible.id}> et vous n'etes pas tomber sur un agent de securité. Vous avez gagné \`${coinsEnBank}\`coins !`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🔐 Braquage')
|
||||
.setDescription(`Vous avez braquer <@${cible.id}> mais vous etes tomber sur un policier. Vous avez non seulement perdu votre gain mais le policier vous a obliger a payer \`3\`reputation de dedommagement`)
|
||||
.setTitle("🔐 Braquage")
|
||||
.setDescription(
|
||||
`Vous avez braquer <@${cible.id}> mais vous etes tomber sur un policier. Vous avez non seulement perdu votre gain mais le policier vous a obliger a payer \`3\`reputation de dedommagement`,
|
||||
)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
return
|
||||
}
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
};
|
||||
+156
-63
@@ -1,139 +1,232 @@
|
||||
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: ['hack'],
|
||||
description: 'Supprime un cadenas à une team. (coût : 4reputation)',
|
||||
emote: '🔓',
|
||||
utilisation: '<team-id>',
|
||||
aliases: ["hack"],
|
||||
description: "Supprime un cadenas à une team. (coût : 4reputation)",
|
||||
emote: "🔓",
|
||||
utilisation: "<team-id>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length >= 2) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Hack Impossible')
|
||||
.setTitle("Hack 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) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
const userRep = user.reputation
|
||||
const userRep = user.reputation;
|
||||
if (userRep < 4) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Hack Impossible')
|
||||
.setDescription(`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais vous n'avez que \`${userRep}\` reputation`)
|
||||
.setTitle("Hack Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous n'avez pas assez de reputation. Il faut \`4\` reputation mais vous n'avez que \`${userRep}\` 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(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
const lastHack = user.lastHack
|
||||
const lastHack = user.lastHack;
|
||||
|
||||
const team = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, teamID], async (err, row) => {
|
||||
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))
|
||||
.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 }
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
resolve(parseInt(row.reputation));
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (lastHack > Date.now() - 7200000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Hack Impossible')
|
||||
.setDescription(`❌ Vous avez déjà hack une team récemment. Veuillez attendre ${Math.floor((lastHack + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir ajouter une reputation à nouveau.`)
|
||||
.setTitle("Hack Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà hack une team récemment. Veuillez attendre ${Math.floor((lastHack + 7200000 - 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 lastHack =? WHERE guildId =? AND userId =?`, [Date.now(), message.guild.id, message.author.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET lastHack =? WHERE guildId =? AND userId =?`,
|
||||
[Date.now(), message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
db.run(`UPDATE users SET reputation = reputation - 4 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => {
|
||||
},
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation - 4 WHERE guildId =? AND userId =?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
if (Math.floor(Math.random() * 5) <= 1) {
|
||||
db.run(`UPDATE teams SET padlock = padlock - 1 WHERE guildId =? AND id =?`, [message.guild.id, teamID], (err) => {
|
||||
db.run(
|
||||
`UPDATE teams SET padlock = padlock - 1 WHERE guildId =? AND id =?`,
|
||||
[message.guild.id, teamID],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Hack réussi !')
|
||||
.setDescription('Vous avez cassé(e) un cadenas de la team `' + team.name + '`, cette team à maintement `' + team.padlock - 1 + '` cadenas !')
|
||||
.setTitle("Hack réussi !")
|
||||
.setDescription(
|
||||
"Vous avez cassé(e) un cadenas de la team `" +
|
||||
team.name +
|
||||
"`, cette team à maintement `" +
|
||||
team.padlock -
|
||||
1 +
|
||||
"` cadenas !",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('https://cdn.discordapp.com/attachments/1173221717024448573/1188279536467579011/hack-pc.gif?ex=665721ce&is=6655d04e&hm=e2f2aacbc56c96a33cab6ce215bdc9d042c25df5ffc608098dc1595fe81ee710&')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setImage(
|
||||
"https://cdn.discordapp.com/attachments/1173221717024448573/1188279536467579011/hack-pc.gif?ex=665721ce&is=6655d04e&hm=e2f2aacbc56c96a33cab6ce215bdc9d042c25df5ffc608098dc1595fe81ee710&",
|
||||
)
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
if (team.padlock == 1) {
|
||||
db.run(`UPDATE users SET bank =? WHERE guildId =? AND userId =?`, [user.bank + team.bank, message.guild.id, message.author.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET bank =? WHERE guildId =? AND userId =?`,
|
||||
[user.bank + team.bank, message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
db.run(`UPDATE teams SET bank = 0 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id], (err) => {
|
||||
},
|
||||
);
|
||||
db.run(
|
||||
`UPDATE teams SET bank = 0 WHERE guildId =? AND userId =?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
console.log(`${err}`.red);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
const embed2 = new EmbedBuilder()
|
||||
.setTitle('Vole de la banque !')
|
||||
.setDescription('La team n\'a plus de cadenas ! Vous avez donc recupéré tout l\'argent de la bank (`' + team.bank + '`coins) !')
|
||||
.setTitle("Vole de la banque !")
|
||||
.setDescription(
|
||||
"La team n'a plus de cadenas ! Vous avez donc recupéré tout l'argent de la bank (`" +
|
||||
team.bank +
|
||||
"`coins) !",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed, embed2], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed, embed2],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
else {
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur lors du hack !')
|
||||
.setDescription('Vous n\'avez pas reussi à casser un cadenas de la team `' + team.name + '`, qui à donc, toujours, `' + team.padlock + '` cadenas.')
|
||||
.setTitle("Erreur lors du hack !")
|
||||
.setDescription(
|
||||
"Vous n'avez pas reussi à casser un cadenas de la team `" +
|
||||
team.name +
|
||||
"`, qui à donc, toujours, `" +
|
||||
team.padlock +
|
||||
"` cadenas.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('https://cdn.discordapp.com/attachments/1173221717024448573/1188280123485601842/hacker-meme.gif?ex=6655d0da&is=66547f5a&hm=103ee9971cdb67eb528df4c6031e4da69366fb1d1c638f21d4ebf0ef34220691&')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.setImage(
|
||||
"https://cdn.discordapp.com/attachments/1173221717024448573/1188280123485601842/hacker-meme.gif?ex=6655d0da&is=66547f5a&hm=103ee9971cdb67eb528df4c6031e4da69366fb1d1c638f21d4ebf0ef34220691&",
|
||||
)
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+182
-71
@@ -1,128 +1,187 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const cooldown = new Set();
|
||||
|
||||
module.exports = {
|
||||
aliases: ['jugement', 'procès', 'proces'],
|
||||
description: 'Juge un membre. (cout : 1reputation + 500coins)',
|
||||
emote: '🏦',
|
||||
utilisation: '<@membre>',
|
||||
aliases: ["jugement", "procès", "proces"],
|
||||
description: "Juge un membre. (cout : 1reputation + 500coins)",
|
||||
emote: "🏦",
|
||||
utilisation: "<@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
/////////////////////////////// Calcule des données de la cible ////////////////////////////////////////////////
|
||||
|
||||
const cible = message.mentions.users.first();
|
||||
if (!cible) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous devez mentionner un membre.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous devez mentionner un membre.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.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 cibleBD = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, cible.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, cible.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
/////////////////////////////// Calcule des données du message.author /////////////////////////////////////////
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const lastJuge = user.lastJuge
|
||||
const lastJuge = user.lastJuge;
|
||||
if (lastJuge > Date.now() - 3600000) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Jugement Impossible')
|
||||
.setDescription(`❌ Vous avez déjà juger récemment. Veuillez attendre ${Math.floor((lastBraquage + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir braquer à nouveau.`)
|
||||
.setTitle("Jugement Impossible")
|
||||
.setDescription(
|
||||
`❌ Vous avez déjà juger récemment. Veuillez attendre ${Math.floor((lastBraquage + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir braquer à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
let countPr = 0
|
||||
let countContre = 0
|
||||
let countPr = 0;
|
||||
let countContre = 0;
|
||||
const pour = new ButtonBuilder()
|
||||
.setCustomId('pour')
|
||||
.setLabel('✅ Pour la sanction')
|
||||
.setCustomId("pour")
|
||||
.setLabel("✅ Pour la sanction")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
const contre = new ButtonBuilder()
|
||||
.setCustomId('contre')
|
||||
.setLabel('😡 Contre la sanction')
|
||||
.setCustomId("contre")
|
||||
.setLabel("😡 Contre la sanction")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(pour);
|
||||
const row = new ActionRowBuilder().addComponents(pour);
|
||||
const msg = message.channel.send({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle(`Jugement de ${cible.user.username}`)
|
||||
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
|
||||
.setDescription(
|
||||
`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const filter = i => (i.customId === 'pour' || i.customId === 'contre') && i.user.id === message.author.id;
|
||||
const collector = msg.createMessageComponentCollector({ filter, time: 60000 })
|
||||
collector.on('collect', async (interaction) => {
|
||||
if (cooldown.has(message.author.id)) { return message.reply({ content: 'Vous avez deja voté', ephemeral: true }) }
|
||||
const filter = (i) =>
|
||||
(i.customId === "pour" || i.customId === "contre") &&
|
||||
i.user.id === message.author.id;
|
||||
const collector = msg.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
});
|
||||
collector.on("collect", async (interaction) => {
|
||||
if (cooldown.has(message.author.id)) {
|
||||
return message.reply({
|
||||
content: "Vous avez deja voté",
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
cooldown.add(message.author.id);
|
||||
if (i.customId === 'contre') {
|
||||
if (i.user.id == message.author.id) { countContre = + 2 } else { countContre = + 1 }
|
||||
if (i.customId === "contre") {
|
||||
if (i.user.id == message.author.id) {
|
||||
countContre = +2;
|
||||
} else {
|
||||
countContre = +1;
|
||||
}
|
||||
msg.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle(`Jugement de ${cible.user.username}`)
|
||||
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
|
||||
.setDescription(
|
||||
`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false }
|
||||
})
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
if (i.user.id == message.author.id) {
|
||||
countPr = +2;
|
||||
} else {
|
||||
countPr = +1;
|
||||
}
|
||||
else {
|
||||
if (i.user.id == message.author.id) { countPr = + 2 } else { countPr = + 1 }
|
||||
msg.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle(`Jugement de <${cible.id}>`)
|
||||
.setDescription(`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``)
|
||||
.setDescription(
|
||||
`Vote pour la sanction: \`${countPr}\`\nVote contre la sanction: \`${countContre}\``,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage('https://tenor.com/view/judge-ace-attorney-ace-attorney-aa-gif-2687377729828245947')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
.setImage(
|
||||
"https://tenor.com/view/judge-ace-attorney-ace-attorney-aa-gif-2687377729828245947",
|
||||
)
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false }
|
||||
})
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
collector.on('end', () => {
|
||||
collector.on("end", () => {
|
||||
if (countContre > countPr) {
|
||||
msg.edit({
|
||||
embeds: [
|
||||
@@ -130,48 +189,100 @@ module.exports = {
|
||||
.setTitle(`Jugement de ${cible.user.username}`)
|
||||
.setDescription(`Les charges sont abandonnée`)
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], components: [], allowedMentions: { repliedUser: false } });
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
if (countContre == countPr) {
|
||||
msg.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle(`Jugement de ${cible.user.username}`)
|
||||
.setDescription(`Le jury n'arrive pas à ce mettre d'accord ||(${countPr}pour VS ${countContre}contre)|| Les charges sont donc appliquer mais à moitié, ${cible.user.username} ne pourras plus faire la commande \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour la prochaine heures plus le cooldown de chaque commande qui recommancera a la fin de ce delai.`)
|
||||
.setDescription(
|
||||
`Le jury n'arrive pas à ce mettre d'accord ||(${countPr}pour VS ${countContre}contre)|| Les charges sont donc appliquer mais à moitié, ${cible.user.username} ne pourras plus faire la commande \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour la prochaine heures plus le cooldown de chaque commande qui recommancera a la fin de ce delai.`,
|
||||
)
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], components: [], allowedMentions: { repliedUser: false }
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
db.run(`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`, [Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, Date.now() + 3600000, message.guild.id, cible.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`,
|
||||
[
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
Date.now() + 3600000,
|
||||
message.guild.id,
|
||||
cible.id,
|
||||
],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`)
|
||||
console.log(`${err}`);
|
||||
}
|
||||
})
|
||||
},
|
||||
);
|
||||
}
|
||||
if (countContre < countPr) {
|
||||
msg.edit({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle(`Jugement de ${cible.user.username}`)
|
||||
.setDescription(`Le jury c'est mis d'accord, ${cible.user.username} ne pourras plus faire les commandes \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour __les deux__ prochaines heure __**plus le cooldown de chaque commande** qui recommancera a la **fin de ce delai**.__`)
|
||||
.setDescription(
|
||||
`Le jury c'est mis d'accord, ${cible.user.username} ne pourras plus faire les commandes \`work\`, \`daily\`, \`rob\`, \`hack\`, \`kill\`, \`braquage\`, \`rep\`, \`trep\` et \`recolt\` pour __les deux__ prochaines heure __**plus le cooldown de chaque commande** qui recommancera a la **fin de ce delai**.__`,
|
||||
)
|
||||
.setTimestamp()
|
||||
.setImage('')
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
], components: [], allowedMentions: { repliedUser: false }
|
||||
.setImage("")
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
db.run(`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`, [Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, Date.now() + 7200000, message.guild.id, cible.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET lastRob =? AND lastRecolt =? AND lastWork =? AND lastDaily =? AND lastRep =? AND lastTrep =? AND lastHack =? AND lastKill =? AND lastBraquage =? WHERE guildId =? AND userId =?`,
|
||||
[
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
Date.now() + 7200000,
|
||||
message.guild.id,
|
||||
cible.id,
|
||||
],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`)
|
||||
console.log(`${err}`);
|
||||
}
|
||||
})
|
||||
},
|
||||
);
|
||||
}
|
||||
/* CAR TOUJOURS EN TEST ET FLEMME DE ME DROP DES REP ET COINS A CHAQUE FOIS
|
||||
db.run(`UPDATE users SET reputation = reputation - 1 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id])
|
||||
db.run(`UPDATE users SET pocket = pocket - 500 WHERE guildId =? AND userId =?`, [message.guild.id, message.author.id])
|
||||
*/
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+99
-39
@@ -1,105 +1,165 @@
|
||||
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: [],
|
||||
description: 'Vole des reputations à un membre. (coût 3rep)',
|
||||
emote: '🦹',
|
||||
utilisation: '<@membre>',
|
||||
description: "Vole des reputations à un membre. (coût 3rep)",
|
||||
emote: "🦹",
|
||||
utilisation: "<@membre>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.users.first();
|
||||
if (!member) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous devez mentionner un membre.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous devez mentionner un membre.")
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() });
|
||||
.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 user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.lastKill + 7200000 > Date.now()) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription(`❌ Vous devez encore attendre ${Math.floor((user.lastKill + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir voler à nouveau.`)
|
||||
.setTitle("Erreur")
|
||||
.setDescription(
|
||||
`❌ Vous devez encore attendre ${Math.floor((user.lastKill + 7200000 - Date.now()) / 60000)} minutes avant de pouvoir voler à 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 },
|
||||
});
|
||||
}
|
||||
|
||||
const memberInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, member.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, member.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
const killer = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 memberRep = memberInfo.reputation;
|
||||
|
||||
if (killer < 3) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setDescription('❌ Vous devez avoir `3`reputation.')
|
||||
.setTitle("Erreur")
|
||||
.setDescription("❌ Vous devez avoir `3`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(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (memberRep <= 0) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur')
|
||||
.setTitle("Erreur")
|
||||
.setDescription(`❌ <@${member.id}> n'a pas de 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(),
|
||||
});
|
||||
|
||||
return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (Math.floor(Math.random() * 5) <= 1) {
|
||||
|
||||
const amount = Math.floor(Math.random() * memberRep) + 1;
|
||||
db.run(`UPDATE users SET reputation = reputation - ? WHERE guildId = ? AND userId = ?`, [amount, message.guild.id, member.id]);
|
||||
db.run(`UPDATE users SET reputation = reputation + ?, lastKill = ? WHERE guildId = ? AND userId = ?`, [amount - 3, Date.now(), message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation - ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, message.guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET reputation = reputation + ?, lastKill = ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount - 3, Date.now(), message.guild.id, message.author.id],
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Vol')
|
||||
.setTitle("Vol")
|
||||
.setDescription(`💰 Vous avez volé **${amount}rep** à <@${member.id}>.`)
|
||||
.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 } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Erreur lors du kill !')
|
||||
.setDescription('Vous n\'avez pas reussi à voler de reputation à <@' + member.id + '>, qui à donc, toujours, `' + memberRep + '` reputation.')
|
||||
.setTitle("Erreur lors du kill !")
|
||||
.setDescription(
|
||||
"Vous n'avez pas reussi à voler de reputation à <@" +
|
||||
member.id +
|
||||
">, qui à donc, toujours, `" +
|
||||
memberRep +
|
||||
"` reputation.",
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTimestamp()
|
||||
.setImage()
|
||||
.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 } });}
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+115
-56
@@ -1,112 +1,159 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const { EmbedBuilder } = require("discord.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
|
||||
let teamName
|
||||
let teamDescription
|
||||
let teamName;
|
||||
let teamDescription;
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamcreate'],
|
||||
description: 'Crée une team.',
|
||||
emote: '✒️',
|
||||
utilisation: '',
|
||||
aliases: ["teamcreate"],
|
||||
description: "Crée une team.",
|
||||
emote: "✒️",
|
||||
utilisation: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamId, pocket FROM users WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT teamId, pocket 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 => {
|
||||
if (row.teamId !== null) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de team')
|
||||
.setDescription(`Vous êtes déjà dans une team. Vous devez quitter votre team actuelle pour en créer une nouvelle.`)
|
||||
.setTitle("🛡️ Création de team")
|
||||
.setDescription(
|
||||
`Vous êtes déjà dans une team. Vous devez quitter votre team actuelle pour en créer une nouvelle.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else if (row.pocket < 3000) {
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de team')
|
||||
.setDescription(`Vous n'avez pas assez de fonds pour créer une team. Vous avez besoin de 3000.`)
|
||||
.setTitle("🛡️ Création de team")
|
||||
.setDescription(
|
||||
`Vous n'avez pas assez de fonds pour créer une team. Vous avez besoin de 3000.`,
|
||||
)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
db.run(`UPDATE users SET pocket = pocket - 3000 WHERE userId = ? AND guildId = ?`, [message.author.id, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket - 3000 WHERE userId = ? AND guildId = ?`,
|
||||
[message.author.id, message.guild.id],
|
||||
);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de team')
|
||||
.setTitle("🛡️ Création de team")
|
||||
.setDescription(`Ecrivez le nom de votre team dans le chat.`)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const messageTeam = await message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
const messageTeam = await message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = m => m.author.id === message.author.id;
|
||||
const collector = message.channel.createMessageCollector({ filter, time: 60000, max: 1 });
|
||||
collector.on('collect', async m => {
|
||||
const filter = (m) => m.author.id === message.author.id;
|
||||
const collector = message.channel.createMessageCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
max: 1,
|
||||
});
|
||||
collector.on("collect", async (m) => {
|
||||
if (m.content.length > 25) {
|
||||
m.reply('Le nom de la team ne doit pas dépasser 25 caractères.');
|
||||
m.reply("Le nom de la team ne doit pas dépasser 25 caractères.");
|
||||
return collector.stop();
|
||||
} else if (m.content.length < 3) {
|
||||
m.reply('Le nom de la team doit contenir au moins 3 caractères.');
|
||||
m.reply("Le nom de la team doit contenir au moins 3 caractères.");
|
||||
return collector.stop();
|
||||
} else {
|
||||
teamName = m.content;
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de team')
|
||||
.setTitle("🛡️ Création de team")
|
||||
.setDescription(`Ecrivez la description de votre team dans le chat.`)
|
||||
.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(),
|
||||
});
|
||||
|
||||
messageTeam.edit({ embeds: [embed] });
|
||||
m.delete();
|
||||
|
||||
const collectorD = message.channel.createMessageCollector({ filter, time: 60000, max: 1 });
|
||||
collectorD.on('collect', async m => {
|
||||
const collectorD = message.channel.createMessageCollector({
|
||||
filter,
|
||||
time: 60000,
|
||||
max: 1,
|
||||
});
|
||||
collectorD.on("collect", async (m) => {
|
||||
if (m.content.length > 250) {
|
||||
m.reply('La description de la team ne doit pas dépasser 250 caractères.');
|
||||
m.reply(
|
||||
"La description de la team ne doit pas dépasser 250 caractères.",
|
||||
);
|
||||
return collectorD.stop();
|
||||
} else if (m.content.length < 5) {
|
||||
m.reply('La description de la team doit contenir au moins 5 caractères.');
|
||||
m.reply(
|
||||
"La description de la team doit contenir au moins 5 caractères.",
|
||||
);
|
||||
return collectorD.stop();
|
||||
} else {
|
||||
teamDescription = m.content;
|
||||
|
||||
let idBase = teamName.toLowerCase().replace(/ /g, '');
|
||||
idBase = idBase.replace('0', '');
|
||||
idBase = idBase.replace('1', '');
|
||||
idBase = idBase.replace('2', '');
|
||||
idBase = idBase.replace('3', '');
|
||||
idBase = idBase.replace('4', '');
|
||||
idBase = idBase.replace('5', '');
|
||||
idBase = idBase.replace('6', '');
|
||||
idBase = idBase.replace('7', '');
|
||||
idBase = idBase.replace('8', '');
|
||||
idBase = idBase.replace('9', '');
|
||||
let idBase = teamName.toLowerCase().replace(/ /g, "");
|
||||
idBase = idBase.replace("0", "");
|
||||
idBase = idBase.replace("1", "");
|
||||
idBase = idBase.replace("2", "");
|
||||
idBase = idBase.replace("3", "");
|
||||
idBase = idBase.replace("4", "");
|
||||
idBase = idBase.replace("5", "");
|
||||
idBase = idBase.replace("6", "");
|
||||
idBase = idBase.replace("7", "");
|
||||
idBase = idBase.replace("8", "");
|
||||
idBase = idBase.replace("9", "");
|
||||
|
||||
let id = idBase;
|
||||
let increment = 0;
|
||||
let exists = true;
|
||||
do {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM teams WHERE id = ? AND guildId = ?`, [id, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE id = ? AND guildId = ?`,
|
||||
[id, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -115,21 +162,33 @@ module.exports = {
|
||||
increment += 1;
|
||||
id = idBase + increment;
|
||||
} else {
|
||||
db.run(`INSERT INTO teams (guildId, id, name, description) VALUES (?, ?, ?, ?)`, [message.guild.id, id, teamName, teamDescription]);
|
||||
db.run(`UPDATE users SET teamId = ?, teamRole = ? WHERE guildId = ? AND userId = ?`, [id, 'owner', message.guild.id, message.author.id]);
|
||||
db.run(
|
||||
`INSERT INTO teams (guildId, id, name, description) VALUES (?, ?, ?, ?)`,
|
||||
[message.guild.id, id, teamName, teamDescription],
|
||||
);
|
||||
db.run(
|
||||
`UPDATE users SET teamId = ?, teamRole = ? WHERE guildId = ? AND userId = ?`,
|
||||
[id, "owner", message.guild.id, message.author.id],
|
||||
);
|
||||
}
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
} while (exists);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Création de team')
|
||||
.setDescription(`Votre team a été créée avec succès !\n\n**ID :** ${id}\n**Nom :** ${teamName}\n**Description :** ${teamDescription}\n\nVous pouvez maintenant inviter des membres dans votre team avec la commande \`&teaminvite\`.\n\nPour quitter la team, utilisez la commande \`&teamleave\` (vous deverez d'abord donner la team a quelqu'un d'autre).`)
|
||||
.setTitle("🛡️ Création de team")
|
||||
.setDescription(
|
||||
`Votre team a été créée avec succès !\n\n**ID :** ${id}\n**Nom :** ${teamName}\n**Description :** ${teamDescription}\n\nVous pouvez maintenant inviter des membres dans votre team avec la commande \`&teaminvite\`.\n\nPour quitter la team, utilisez la commande \`&teamleave\` (vous deverez d'abord donner la team a quelqu'un d'autre).`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
messageTeam.edit({ embeds: [embed] });
|
||||
m.delete();
|
||||
@@ -137,5 +196,5 @@ module.exports = {
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+120
-48
@@ -1,103 +1,175 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamdelete'],
|
||||
description: 'Supprime votre équipe.',
|
||||
emote: '🗑️',
|
||||
util: '',
|
||||
aliases: ["teamdelete"],
|
||||
description: "Supprime votre équipe.",
|
||||
emote: "🗑️",
|
||||
util: "",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
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, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!team) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'équipe')
|
||||
.setDescription('Vous n\'êtes actuellement pas dans une équipe.')
|
||||
.setTitle("🛡️ Suppression de l'équipe")
|
||||
.setDescription("Vous n'êtes actuellement pas dans une équipe.")
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
const teamRole = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamRole FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT teamRole FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.teamRole);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (teamRole !== 'owner') {
|
||||
if (teamRole !== "owner") {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Suppression Impossible')
|
||||
.setDescription('❌ Vous n\'avez pas la permission de supprimer cette équipe.')
|
||||
.setTitle("Suppression Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas la permission de supprimer cette équipe.",
|
||||
)
|
||||
.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 row = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
const row = new ActionRowBuilder().addComponents(
|
||||
new ButtonBuilder()
|
||||
.setCustomId('confirm_delete')
|
||||
.setLabel('Confirmer')
|
||||
.setCustomId("confirm_delete")
|
||||
.setLabel("Confirmer")
|
||||
.setStyle(ButtonStyle.Danger),
|
||||
new ButtonBuilder()
|
||||
.setCustomId('cancel_delete')
|
||||
.setLabel('Annuler')
|
||||
.setStyle(ButtonStyle.Secondary)
|
||||
.setCustomId("cancel_delete")
|
||||
.setLabel("Annuler")
|
||||
.setStyle(ButtonStyle.Secondary),
|
||||
);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'équipe')
|
||||
.setDescription(`Êtes-vous sûr de vouloir supprimer l'équipe ${team.name}? Cette action est irréversible.`)
|
||||
.setTitle("🛡️ Suppression de l'équipe")
|
||||
.setDescription(
|
||||
`Êtes-vous sûr de vouloir supprimer l'équipe ${team.name}? Cette action est irréversible.`,
|
||||
)
|
||||
.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], components: [row], allowedMentions: { repliedUser: false } }).then(sentMessage => {
|
||||
const filter = i => i.customId === 'confirm_delete' || i.customId === 'cancel_delete' && i.user.id === message.author.id;
|
||||
message
|
||||
.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
})
|
||||
.then((sentMessage) => {
|
||||
const filter = (i) =>
|
||||
i.customId === "confirm_delete" ||
|
||||
(i.customId === "cancel_delete" && i.user.id === message.author.id);
|
||||
|
||||
const collector = sentMessage.createMessageComponentCollector({ filter, time: 15000 });
|
||||
const collector = sentMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 15000,
|
||||
});
|
||||
|
||||
collector.on('collect', async i => {
|
||||
if (i.customId === 'confirm_delete') {
|
||||
db.run(`DELETE FROM teams WHERE guildId = ? AND id = ?`, [message.guild.id, team.id], async (err) => {
|
||||
collector.on("collect", async (i) => {
|
||||
if (i.customId === "confirm_delete") {
|
||||
db.run(
|
||||
`DELETE FROM teams WHERE guildId = ? AND id = ?`,
|
||||
[message.guild.id, team.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return i.update({ content: 'Une erreur est survenue lors de la suppression de l\'équipe.', components: [] });
|
||||
return i.update({
|
||||
content:
|
||||
"Une erreur est survenue lors de la suppression de l'équipe.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET teamRole = NULL, teamId = NULL WHERE guildId = ? AND teamId = ?`, [message.guild.id, team.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamRole = NULL, teamId = NULL WHERE guildId = ? AND teamId = ?`,
|
||||
[message.guild.id, team.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return i.update({ content: 'Une erreur est survenue lors de la mise à jour des membres de l\'équipe.', components: [] });
|
||||
return i.update({
|
||||
content:
|
||||
"Une erreur est survenue lors de la mise à jour des membres de l'équipe.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Suppression de l\'équipe')
|
||||
.setDescription(`L'équipe ${team.name} a été supprimée avec succès.`)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("🛡️ Suppression de l'équipe")
|
||||
.setDescription(
|
||||
`L'équipe ${team.name} a été supprimée avec succès.`,
|
||||
)
|
||||
.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 i.update({ embeds: [embed], components: [] });
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
} else {
|
||||
await i.update({ content: 'Suppression de l\'équipe annulée.', components: [] });
|
||||
await i.update({
|
||||
content: "Suppression de l'équipe annulée.",
|
||||
components: [],
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
collector.on('end', collected => {
|
||||
if (collected.size === 0) sentMessage.edit({ content: 'Temps écoulé. Suppression de l\'équipe annulée.', components: [] });
|
||||
collector.on("end", (collected) => {
|
||||
if (collected.size === 0)
|
||||
sentMessage.edit({
|
||||
content: "Temps écoulé. Suppression de l'équipe annulée.",
|
||||
components: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamdemote', 'tderank'],
|
||||
description: 'Rétrograder un officier à membre dans votre équipe.',
|
||||
emote: '🛡️',
|
||||
utilisation: '<@user>',
|
||||
aliases: ["teamdemote", "tderank"],
|
||||
description: "Rétrograder un officier à membre dans votre équipe.",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,13 +19,16 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrograder un officier')
|
||||
.setDescription('Veuillez mentionner un utilisateur à rétrograder.')
|
||||
.setTitle("🛡️ Rétrograder un officier")
|
||||
.setDescription("Veuillez mentionner un utilisateur à rétrograder.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,85 +37,121 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrograder un officier')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.setTitle("🛡️ Rétrograder un officier")
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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') {
|
||||
if (!user || user.teamRole !== "owner") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrograder un officier')
|
||||
.setDescription('Vous n\'êtes pas administrateur de cette équipe.')
|
||||
.setTitle("🛡️ Rétrograder un officier")
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const userToDemoteInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, userToDemote.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToDemote.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!userToDemoteInfo || userToDemoteInfo.teamId !== user.teamId) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrograder un officier')
|
||||
.setDescription('L\'utilisateur mentionné n\'est pas dans votre équipe.')
|
||||
.setTitle("🛡️ Rétrograder un officier")
|
||||
.setDescription(
|
||||
"L'utilisateur mentionné n'est pas dans votre équipe.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (userToDemoteInfo.teamRole !== 'officer') {
|
||||
if (userToDemoteInfo.teamRole !== "officer") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrograder un officier')
|
||||
.setDescription('L\'utilisateur mentionné n\'est pas un officier.')
|
||||
.setTitle("🛡️ Rétrograder un officier")
|
||||
.setDescription("L'utilisateur mentionné n'est pas un officier.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET teamRole = 'membre' WHERE guildId = ? AND userId = ?`, [message.guild.id, userToDemote.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamRole = 'membre' WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToDemote.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return message.reply('Une erreur est survenue lors de la rétrogradation de l\'utilisateur.');
|
||||
return message.reply(
|
||||
"Une erreur est survenue lors de la rétrogradation de l'utilisateur.",
|
||||
);
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Rétrogradation dans l\'équipe')
|
||||
.setDescription(`${userToDemote.tag} a été rétrogradé au rang de membre.`)
|
||||
.setTitle("🛡️ Rétrogradation dans l'équipe")
|
||||
.setDescription(
|
||||
`${userToDemote.tag} a été rétrogradé au rang de membre.`,
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
};
|
||||
@@ -1,66 +1,92 @@
|
||||
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: ['tedit'],
|
||||
description: 'Modifie les informations de votre team.',
|
||||
emote: '🖋️',
|
||||
utilisation: '<nom|bannière|photo|description> <nouvelle valeur>',
|
||||
aliases: ["tedit"],
|
||||
description: "Modifie les informations de votre team.",
|
||||
emote: "🖋️",
|
||||
utilisation: "<nom|bannière|photo|description> <nouvelle valeur>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length > 0) {
|
||||
let subCommand = args[0].toLowerCase();
|
||||
subCommand = subCommand.replice('n', 'name')
|
||||
subCommand = subCommand.replice('nom', 'name')
|
||||
subCommand = subCommand.replice('noms', 'name')
|
||||
subCommand = subCommand.replice('banniere', 'banner')
|
||||
subCommand = subCommand.replice('bannière', 'banner')
|
||||
subCommand = subCommand.replice('b', 'banner')
|
||||
subCommand = subCommand.replice('i', 'icon')
|
||||
subCommand = subCommand.replice('p', 'icon')
|
||||
subCommand = subCommand.replice('photo', 'icon')
|
||||
subCommand = subCommand.replice('icone', 'icon')
|
||||
subCommand = subCommand.replice('d', 'description')
|
||||
subCommand = subCommand.replice("n", "name");
|
||||
subCommand = subCommand.replice("nom", "name");
|
||||
subCommand = subCommand.replice("noms", "name");
|
||||
subCommand = subCommand.replice("banniere", "banner");
|
||||
subCommand = subCommand.replice("bannière", "banner");
|
||||
subCommand = subCommand.replice("b", "banner");
|
||||
subCommand = subCommand.replice("i", "icon");
|
||||
subCommand = subCommand.replice("p", "icon");
|
||||
subCommand = subCommand.replice("photo", "icon");
|
||||
subCommand = subCommand.replice("icone", "icon");
|
||||
subCommand = subCommand.replice("d", "description");
|
||||
|
||||
const newValue = args.slice(1).join(' ');
|
||||
const newValue = args.slice(1).join(" ");
|
||||
|
||||
if (['name', 'banner', 'icon', 'description'].includes(subCommand)) {
|
||||
if (["name", "banner", "icon", "description"].includes(subCommand)) {
|
||||
await new Promise((resolve, reject) => {
|
||||
db.run(`UPDATE teams SET ${subCommand} = ? WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`, [newValue, message.guild.id, message.guild.id, message.author.id], (err) => {
|
||||
db.run(
|
||||
`UPDATE teams SET ${subCommand} = ? WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`,
|
||||
[newValue, message.guild.id, message.guild.id, message.author.id],
|
||||
(err) => {
|
||||
if (err) reject(err);
|
||||
resolve();
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🖋️ Modification de team')
|
||||
.setTitle("🖋️ Modification de team")
|
||||
.setDescription(`La ${subCommand} de votre team a été mise à jour.`)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🖋️ Modification de team')
|
||||
.setDescription('❌ Vous devez spécifier ce que vous voulez modifier (name, banner, icon ou description).')
|
||||
.setTitle("🖋️ Modification de team")
|
||||
.setDescription(
|
||||
"❌ Vous devez spécifier ce que vous voulez modifier (name, banner, icon ou description).",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🖋️ Modification de team')
|
||||
.setDescription('Veuillez spécifier ce que vous voulez modifier et la nouvelle valeur.')
|
||||
.setTitle("🖋️ Modification de team")
|
||||
.setDescription(
|
||||
"Veuillez spécifier ce que vous voulez modifier et la nouvelle valeur.",
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,12 +1,12 @@
|
||||
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: ['teamkick'],
|
||||
description: 'Expulse un utilisateur de votre team.',
|
||||
emote: '🛠️',
|
||||
utilisation: '<@user>',
|
||||
aliases: ["teamkick"],
|
||||
description: "Expulse un utilisateur de votre team.",
|
||||
emote: "🛠️",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,13 +14,16 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Veuillez mentionner un utilisateur à expulser.')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription("Veuillez mentionner un utilisateur à expulser.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,116 +32,162 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.setTitle("🛠️ Expulsion de 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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (userToKick.id === message.author.id) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Vous ne pouvez pas vous expulser de votre propre équipe. Si vous souhaitez quitter votre équipe, utilisez la commande `&tleave`.')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription(
|
||||
"Vous ne pouvez pas vous expulser de votre propre équipe. Si vous souhaitez quitter votre équipe, utilisez la commande `&tleave`.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
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, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM teams WHERE guildId = ? AND id = (SELECT teamId FROM users WHERE guildId = ? AND userId = ?)`,
|
||||
[message.guild.id, message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!team) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Vous n\'êtes pas dans une équipe.')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription("Vous n'êtes pas dans une équipe.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, 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 userToKickInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, userToKick.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToKick.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!userToKickInfo || userToKickInfo.teamId !== user.teamId) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('L\'utilisateur mentionné n\'est pas dans votre équipe.')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription(
|
||||
"L'utilisateur mentionné n'est pas dans votre équipe.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (!user || user.teamRole !== 'owner') {
|
||||
if (!user || user.teamRole !== "owner") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Vous n\'êtes pas administrateur de cette équipe.')
|
||||
.setTitle("🛠️ Expulsion de 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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET teamId = NULL, teamRole = NULL WHERE guildId = ? AND userId = ?`, [message.guild.id, userToKick.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamId = NULL, teamRole = NULL WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToKick.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setDescription('Une erreur est survenue lors de l\'expulsion de l\'utilisateur.')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription(
|
||||
"Une erreur est survenue lors de l'expulsion de l'utilisateur.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛠️ Expulsion de l\'équipe')
|
||||
.setTitle("🛠️ Expulsion de l'équipe")
|
||||
.setDescription(`${userToKick.tag} a été expulsé de l'équipe.`)
|
||||
.setColor(color)
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
};
|
||||
+122
-56
@@ -1,12 +1,17 @@
|
||||
const { ButtonStyle, ButtonBuilder, ActionRowBuilder, EmbedBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
EmbedBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teamowner', 'towner', 'teamadmin'],
|
||||
description: 'Transfère votre team à un utilisteur de votre équipe.',
|
||||
emote: '👑',
|
||||
utilisation: '<@user>',
|
||||
aliases: ["teamowner", "towner", "teamadmin"],
|
||||
description: "Transfère votre team à un utilisteur de votre équipe.",
|
||||
emote: "👑",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,13 +19,16 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('Veuillez mentionner un utilisateur à promouvoir.')
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription("Veuillez mentionner un utilisateur à promouvoir.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,119 +37,177 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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') {
|
||||
if (!user || user.teamRole !== "owner") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('Vous n\'êtes pas administrateur de cette équipe.')
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const userToPromoteInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, userToPromote.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToPromote.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!userToPromoteInfo || userToPromoteInfo.teamId !== user.teamId) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('L\'utilisateur mentionné n\'est pas dans votre équipe.')
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription(
|
||||
"L'utilisateur mentionné n'est pas dans votre équipe.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const bouton = new ButtonBuilder()
|
||||
.setCustomId('promote_to_admin')
|
||||
.setLabel('Confirmer')
|
||||
.setCustomId("promote_to_admin")
|
||||
.setLabel("Confirmer")
|
||||
.setStyle(ButtonStyle.Success);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(bouton);
|
||||
const row = new ActionRowBuilder().addComponents(bouton);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription(`Êtes-vous sûr de vouloir promouvoir ${userToPromote.tag} au rang d'administrateur ?`)
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription(
|
||||
`Êtes-vous sûr de vouloir promouvoir ${userToPromote.tag} au rang d'administrateur ?`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
const sendMessage = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
const sendMessage = await message.reply({
|
||||
embeds: [embed],
|
||||
components: [row],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
|
||||
const filter = i => i.customId === 'promote_to_admin' && i.user.id === message.author.id;
|
||||
const collector = sendMessage.createMessageComponentCollector({ filter, time: 120000 });
|
||||
const filter = (i) =>
|
||||
i.customId === "promote_to_admin" && i.user.id === message.author.id;
|
||||
const collector = sendMessage.createMessageComponentCollector({
|
||||
filter,
|
||||
time: 120000,
|
||||
});
|
||||
|
||||
collector.on('collect', async (interaction) => {
|
||||
db.run(`UPDATE users SET teamRole = 'owner' WHERE guildId = ? AND userId = ?`, [message.guild.id, userToPromote.id], async (err) => {
|
||||
collector.on("collect", async (interaction) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamRole = 'owner' WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToPromote.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('Une erreur est survenue lors de la promotion de l\'utilisateur.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription(
|
||||
"Une erreur est survenue lors de la promotion de l'utilisateur.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET teamRole = 'officier' WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamRole = 'officier' WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription('Une erreur est survenue lors de la mise à jour de votre rôle.')
|
||||
.setColor(await embedColor(message.author.id, message.guild.id))
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription(
|
||||
"Une erreur est survenue lors de la mise à jour de votre rôle.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('👑 Transfere de la propriété de la team')
|
||||
.setDescription(`${userToPromote.tag} a été promu au rang d'administrateur. Vous avez été rétrogradé au rang d'officier.`)
|
||||
.setTitle("👑 Transfere de la propriété de la team")
|
||||
.setDescription(
|
||||
`${userToPromote.tag} a été promu au rang d'administrateur. Vous avez été rétrogradé au rang d'officier.`,
|
||||
)
|
||||
.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(),
|
||||
});
|
||||
|
||||
sendMessage.edit({ embeds: [embed], components: [] });
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,12 +1,17 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const {
|
||||
EmbedBuilder,
|
||||
ButtonStyle,
|
||||
ButtonBuilder,
|
||||
ActionRowBuilder,
|
||||
} = require("discord.js");
|
||||
const db = require("../../fonctions/database.js");
|
||||
const embedColor = require("../../fonctions/embedColor.js");
|
||||
|
||||
module.exports = {
|
||||
aliases: ['teampromote', 'trankup'],
|
||||
description: 'Promouvoir un utilisateur à officier dans votre équipe.',
|
||||
emote: '🛡️',
|
||||
utilisation: '<@user>',
|
||||
aliases: ["teampromote", "trankup"],
|
||||
description: "Promouvoir un utilisateur à officier dans votre équipe.",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,13 +19,16 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('Veuillez mentionner un utilisateur à promouvoir.')
|
||||
.setTitle("🛡️ Promotion dans l'équipe")
|
||||
.setDescription("Veuillez mentionner un utilisateur à promouvoir.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,95 +37,134 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.setTitle("🛡️ Promotion dans 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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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') {
|
||||
if (!user || user.teamRole !== "owner") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('Vous n\'êtes pas administrateur de cette équipe.')
|
||||
.setTitle("🛡️ Promotion dans 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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const userToPromoteInfo = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, userToPromote.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToPromote.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!userToPromoteInfo || userToPromoteInfo.teamId !== user.teamId) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('L\'utilisateur mentionné n\'est pas dans votre équipe.')
|
||||
.setTitle("🛡️ Promotion dans l'équipe")
|
||||
.setDescription(
|
||||
"L'utilisateur mentionné n'est pas dans votre équipe.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
if (userToPromoteInfo.teamRole === 'officer') {
|
||||
if (userToPromoteInfo.teamRole === "officer") {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('L\'utilisateur mentionné est déjà un officier.')
|
||||
.setTitle("🛡️ Promotion dans l'équipe")
|
||||
.setDescription("L'utilisateur mentionné est déjà un officier.")
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET teamRole = 'officer' WHERE guildId = ? AND userId = ?`, [message.guild.id, userToPromote.id], async (err) => {
|
||||
db.run(
|
||||
`UPDATE users SET teamRole = 'officer' WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, userToPromote.id],
|
||||
async (err) => {
|
||||
if (err) {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription('Une erreur est survenue lors de la promotion de l\'utilisateur.')
|
||||
.setTitle("🛡️ Promotion dans l'équipe")
|
||||
.setDescription(
|
||||
"Une erreur est survenue lors de la promotion de l'utilisateur.",
|
||||
)
|
||||
.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(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Promotion dans l\'équipe')
|
||||
.setDescription(`${userToPromote.tag} a été promu au rang d'officier.`)
|
||||
.setTitle("🛡️ Promotion dans l'équipe")
|
||||
.setDescription(
|
||||
`${userToPromote.tag} a été promu au rang d'officier.`,
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
},
|
||||
);
|
||||
},
|
||||
};
|
||||
@@ -1,113 +1,180 @@
|
||||
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: ['tretirer', 'teamwithdraw', 'teamretirer', 'teamwh', 'twh'],
|
||||
description: 'Retire de l\'argent de la banque de votre team.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant|all>',
|
||||
aliases: ["tretirer", "teamwithdraw", "teamretirer", "teamwh", "twh"],
|
||||
description: "Retire de l'argent de la banque de votre team.",
|
||||
emote: "💰",
|
||||
utilisation: "<montant|all>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length !== 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un montant à retirer.')
|
||||
.setTitle("Retrait Impossible")
|
||||
.setDescription("❌ Vous devez spécifier un montant à retirer.")
|
||||
.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 } });
|
||||
} else if (args[0] !== 'all' && isNaN(args[0])) {
|
||||
return message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
} else if (args[0] !== "all" && isNaN(args[0])) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription('❌ Vous devez spécifier un montant valide à retirer.')
|
||||
.setTitle("Retrait Impossible")
|
||||
.setDescription("❌ Vous devez spécifier un montant valide à retirer.")
|
||||
.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 },
|
||||
});
|
||||
} else if (args[0] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription('❌ Vous devez retirer au moins 1 coin.')
|
||||
.setTitle("Retrait Impossible")
|
||||
.setDescription("❌ Vous devez retirer 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() });
|
||||
.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 teamRole = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamRole FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT teamRole FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.teamRole);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!teamRole || (teamRole !== 'officier' && teamRole !== 'owner')) {
|
||||
if (!teamRole || (teamRole !== "officier" && teamRole !== "owner")) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription('❌ Vous n\'avez pas la permission de retirer de l\'argent de la banque de l\'équipe.')
|
||||
.setTitle("Retrait Impossible")
|
||||
.setDescription(
|
||||
"❌ Vous n'avez pas la permission de retirer de l'argent de la banque de l'équipe.",
|
||||
)
|
||||
.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 team = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT teamId FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT teamId FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[message.guild.id, message.author.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.teamId);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
if (!team) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription('❌ Vous n\'êtes pas dans une team.')
|
||||
.setTitle("Retrait 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() });
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
const bank = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT bank FROM teams WHERE id = ? AND guildId = ?`, [team, message.guild.id], (err, row) => {
|
||||
db.get(
|
||||
`SELECT bank FROM teams WHERE id = ? AND guildId = ?`,
|
||||
[team, message.guild.id],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row.bank);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
let amount;
|
||||
if (args[0] === 'all') {
|
||||
if (args[0] === "all") {
|
||||
amount = bank;
|
||||
} else if (args[0] > bank) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Impossible')
|
||||
.setDescription(`❌ Votre team n'a pas assez d'argent dans la banque pour retirer cette somme.\n\n💰 Votre team a actuellement **${bank} coins** dans la banque.`)
|
||||
.setTitle("Retrait Impossible")
|
||||
.setDescription(
|
||||
`❌ Votre team n'a pas assez d'argent dans la banque pour retirer cette somme.\n\n💰 Votre team a actuellement **${bank} coins** dans la banque.`,
|
||||
)
|
||||
.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 },
|
||||
});
|
||||
} else {
|
||||
amount = args[0];
|
||||
}
|
||||
|
||||
db.run(`UPDATE users SET pocket = pocket + ?, teamDroper = teamDroper - ? WHERE guildId = ? AND userId = ?`, [amount, amount, message.guild.id, message.author.id]);
|
||||
db.run(`UPDATE teams SET bank = bank - ? WHERE id = ? AND guildId = ?`, [amount, team, message.guild.id]);
|
||||
db.run(
|
||||
`UPDATE users SET pocket = pocket + ?, teamDroper = teamDroper - ? WHERE guildId = ? AND userId = ?`,
|
||||
[amount, amount, message.guild.id, message.author.id],
|
||||
);
|
||||
db.run(`UPDATE teams SET bank = bank - ? WHERE id = ? AND guildId = ?`, [
|
||||
amount,
|
||||
team,
|
||||
message.guild.id,
|
||||
]);
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Retrait Effectué')
|
||||
.setDescription(`💰 Vous avez retiré **${amount}** coins de la banque de votre team.`)
|
||||
.setTitle("Retrait Effectué")
|
||||
.setDescription(
|
||||
`💰 Vous avez retiré **${amount}** coins de 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() });
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+91
-40
@@ -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>',
|
||||
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) => {
|
||||
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')
|
||||
.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 teamRep = team.reputation
|
||||
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`)
|
||||
.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)
|
||||
}
|
||||
.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);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
if (team.padlock < 5) {
|
||||
db.run(`UPDATE teams SET padlock = padlock + 1 WHERE guildId =? AND Id =?`, [message.guild.id, teamID], (err) => {
|
||||
db.run(
|
||||
`UPDATE teams SET padlock = padlock + 1 WHERE guildId =? AND Id =?`,
|
||||
[message.guild.id, teamID],
|
||||
(err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
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(),
|
||||
});
|
||||
|
||||
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 } });
|
||||
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 !)')
|
||||
.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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
message.reply({ embeds: [embed], allowedMentions: { repliedUser: false } });
|
||||
message.reply({
|
||||
embeds: [embed],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+98
-39
@@ -1,94 +1,153 @@
|
||||
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: ['tdep', 'tdepot', 'teamdep', 'teamdepot'],
|
||||
description: 'Dépose de l\'argent dans la banque de votre team.',
|
||||
emote: '💰',
|
||||
utilisation: '<montant|all>',
|
||||
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.')
|
||||
.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() });
|
||||
.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])) {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} else if (args[0] < 1) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Dépôt Impossible')
|
||||
.setDescription('❌ Vous devez déposer au moins 1 coin.')
|
||||
.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() });
|
||||
.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 pocket = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT pocket FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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') {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} 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) => {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} 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]);
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+77
-42
@@ -1,110 +1,142 @@
|
||||
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: ['t', 'tinfo', 'teaminfo'],
|
||||
description: 'Affiche les informations de votre team.',
|
||||
emote: '🛡️',
|
||||
utilisation: '',
|
||||
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) => {
|
||||
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.')
|
||||
.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() });
|
||||
.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 },
|
||||
});
|
||||
} 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) => {
|
||||
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
|
||||
let Aname;
|
||||
if (alliance) {
|
||||
Aname = alliance.name
|
||||
}
|
||||
else {
|
||||
Aname = 'aucune 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) => {
|
||||
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 = "🔓"
|
||||
let CadenaS = "🔓";
|
||||
if (team.padlock == 5) {
|
||||
CadenaS = "🔐🔐🔐🔐🔐"
|
||||
CadenaS = "🔐🔐🔐🔐🔐";
|
||||
}
|
||||
if (team.padlock == 4) {
|
||||
CadenaS = "🔐🔐🔐🔐"
|
||||
CadenaS = "🔐🔐🔐🔐";
|
||||
}
|
||||
if (team.padlock == 3) {
|
||||
CadenaS = "🔐🔐🔐"
|
||||
CadenaS = "🔐🔐🔐";
|
||||
}
|
||||
if (team.padlock == 2) {
|
||||
CadenaS = "🔐🔐"
|
||||
CadenaS = "🔐🔐";
|
||||
}
|
||||
if (team.padlock == 1) {
|
||||
CadenaS = "🔐"
|
||||
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) => {
|
||||
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 leaderboard = data
|
||||
.map((row, i) => {
|
||||
let position;
|
||||
switch (i) {
|
||||
case 0:
|
||||
position = ':first_place:';
|
||||
position = ":first_place:";
|
||||
break;
|
||||
case 1:
|
||||
position = ':second_place:';
|
||||
position = ":second_place:";
|
||||
break;
|
||||
case 2:
|
||||
position = ':third_place:';
|
||||
position = ":third_place:";
|
||||
break;
|
||||
default:
|
||||
position = `**${i + 1}.**`;
|
||||
}
|
||||
return `${position} <@${row.userId}> - \`${row.coins}\`coins donné(s)`;
|
||||
}).join('\n');
|
||||
})
|
||||
.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`)
|
||||
.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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const embedTopDonnateur = new EmbedBuilder()
|
||||
.setTitle('**Les 10 meilleurs donnateurs de la team sont :**')
|
||||
.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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const urlRegex1 = /(https?:\/\/[^\s]+)/g;
|
||||
if (team.icon && urlRegex1.test(team.icon)) {
|
||||
@@ -116,7 +148,10 @@ module.exports = {
|
||||
embedTopDonnateur.setImage(team.banner);
|
||||
}
|
||||
|
||||
return message.reply({ embeds: [embed, embedTopDonnateur], allowedMentions: { repliedUser: false } });
|
||||
return message.reply({
|
||||
embeds: [embed, embedTopDonnateur],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+91
-42
@@ -1,12 +1,17 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
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>',
|
||||
aliases: ["tinvite"],
|
||||
description: "Invite un utilisateur à votre team.",
|
||||
emote: "🛡️",
|
||||
utilisation: "<@user>",
|
||||
permission: 0,
|
||||
|
||||
async execute(message, args, client) {
|
||||
@@ -14,13 +19,16 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription('Veuillez mentionner un utilisateur à inviter.')
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,80 +37,121 @@ module.exports = {
|
||||
return message.reply({
|
||||
embeds: [
|
||||
new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.setDescription('Utilisateur non trouvé.')
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
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) => {
|
||||
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')
|
||||
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) => {
|
||||
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') {
|
||||
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.')
|
||||
.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() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
}),
|
||||
],
|
||||
allowedMentions: { repliedUser: false }
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
}
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const accept = new ButtonBuilder()
|
||||
.setCustomId('accept')
|
||||
.setLabel('Rejoindre la team')
|
||||
.setCustomId("accept")
|
||||
.setLabel("Rejoindre la team")
|
||||
.setStyle(ButtonStyle.Success);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(accept);
|
||||
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.`)
|
||||
.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() });
|
||||
.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 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) => {
|
||||
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.');
|
||||
return message.reply(
|
||||
"Une erreur est survenue lors de l'invitation de l'utilisateur.",
|
||||
);
|
||||
}
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Invitation à l\'équipe')
|
||||
.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 } });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
sentMessage.edit({
|
||||
embeds: [embed],
|
||||
components: [],
|
||||
allowedMentions: { repliedUser: false },
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
})();
|
||||
});
|
||||
|
||||
+83
-41
@@ -1,101 +1,143 @@
|
||||
const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
|
||||
const embedColor = require('../../fonctions/embedColor.js');
|
||||
const db = require('../../fonctions/database.js');
|
||||
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: '',
|
||||
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) => {
|
||||
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 => {
|
||||
if (row.teamId === null) {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.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() })
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} 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) => {
|
||||
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 => {
|
||||
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.`)
|
||||
.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() })
|
||||
.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 },
|
||||
});
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.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() });
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
const confirmeButton = new ButtonBuilder()
|
||||
.setCustomId('confirme')
|
||||
.setLabel('✅')
|
||||
.setCustomId("confirme")
|
||||
.setLabel("✅")
|
||||
.setStyle(ButtonStyle.Primary);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(confirmeButton);
|
||||
const row = new ActionRowBuilder().addComponents(confirmeButton);
|
||||
|
||||
const messageTeam = await message.reply({ embeds: [embed], components: [row], allowedMentions: { repliedUser: false } });
|
||||
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 => {
|
||||
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.');
|
||||
return i.reply("Une erreur est survenue.");
|
||||
}
|
||||
|
||||
embedColor(message.author.id, message.guild.id).then(color => {
|
||||
embedColor(message.author.id, message.guild.id).then((color) => {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('🛡️ Quitter une team')
|
||||
.setTitle("🛡️ Quitter une team")
|
||||
.setDescription(`Vous avez quitté votre team.`)
|
||||
.setColor(color)
|
||||
.setTimestamp()
|
||||
.setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() })
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
return i.update({ embeds: [embed], components: [] });
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
+83
-38
@@ -1,83 +1,128 @@
|
||||
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) => {
|
||||
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) => {
|
||||
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))
|
||||
.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 }
|
||||
.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() });
|
||||
|
||||
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)
|
||||
}
|
||||
.setFooter({
|
||||
text: `Demandé par ${message.author.tag}`,
|
||||
iconURL: message.author.displayAvatarURL(),
|
||||
});
|
||||
|
||||
db.run(`UPDATE teams SET reputation = reputation + 1 WHERE guildId =? AND id =?`, [message.guild.id, teamID], (err) => {
|
||||
if (err) {
|
||||
console.log(`${err}`.red)
|
||||
}
|
||||
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 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 } });
|
||||
},
|
||||
|
||||
+11
-5
@@ -1,12 +1,18 @@
|
||||
const { Events } = require('discord.js');
|
||||
const db = require('../fonctions/database.js');
|
||||
const { Events } = require("discord.js");
|
||||
const db = require("../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildCreate,
|
||||
async execute(guild) {
|
||||
db.run(`INSERT OR IGNORE INTO config (guildId, name, value) VALUES (?, ?, ?)`, [guild.id, 'prefix', '&']);
|
||||
guild.members.cache.forEach(member => {
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, userId) VALUES (?, ?)`, [guild.id, member.id]);
|
||||
db.run(
|
||||
`INSERT OR IGNORE INTO config (guildId, name, value) VALUES (?, ?, ?)`,
|
||||
[guild.id, "prefix", "&"],
|
||||
);
|
||||
guild.members.cache.forEach((member) => {
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, userId) VALUES (?, ?)`, [
|
||||
guild.id,
|
||||
member.id,
|
||||
]);
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,9 +1,12 @@
|
||||
const { Events } = require('discord.js');
|
||||
const db = require('../fonctions/database.js');
|
||||
const { Events } = require("discord.js");
|
||||
const db = require("../fonctions/database.js");
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildMemberAdd,
|
||||
async execute(member) {
|
||||
db.run(`INSERT INTO users (guildId, userId) VALUES (?, ?)`, [member.guild.id, member.id]);
|
||||
db.run(`INSERT INTO users (guildId, userId) VALUES (?, ?)`, [
|
||||
member.guild.id,
|
||||
member.id,
|
||||
]);
|
||||
},
|
||||
};
|
||||
+41
-15
@@ -1,7 +1,7 @@
|
||||
const { Message, Events } = require("discord.js");
|
||||
const db = require('../fonctions/database.js');
|
||||
var loggT = require('../loggerT.js');
|
||||
var loggE = require('../loggerE.js');
|
||||
const db = require("../fonctions/database.js");
|
||||
var loggT = require("../loggerT.js");
|
||||
var loggE = require("../loggerE.js");
|
||||
const getPermissionLevel = require("../fonctions/getPermissionLevel.js");
|
||||
|
||||
module.exports = {
|
||||
@@ -9,14 +9,24 @@ module.exports = {
|
||||
async execute(message, client) {
|
||||
if (message.author.bot) return;
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.blacklist == true) { return }
|
||||
if (user.blacklist == true) {
|
||||
return;
|
||||
}
|
||||
|
||||
const prefix = db.get(`SELECT value FROM config WHERE guildId = ? AND name = ?`, [message.guild.id, 'prefix'])?.value || '&';
|
||||
const prefix =
|
||||
db.get(`SELECT value FROM config WHERE guildId = ? AND name = ?`, [
|
||||
message.guild.id,
|
||||
"prefix",
|
||||
])?.value || "&";
|
||||
if (message.content.startsWith(prefix)) {
|
||||
const args = message.content.slice(prefix.length).trim().split(/ +/);
|
||||
const commandName = args.shift()?.toLowerCase();
|
||||
@@ -24,22 +34,38 @@ module.exports = {
|
||||
const command = client.commands.get(commandName);
|
||||
if (!command) return;
|
||||
|
||||
const permissionLevel = await getPermissionLevel(message.guild.id, message.member);
|
||||
if ((permissionLevel < command.permission) && (!client.config.owners.includes(message.author.id))) {
|
||||
return message.reply("Vous n'avez pas la permission d'utiliser cette commande.");
|
||||
const permissionLevel = await getPermissionLevel(
|
||||
message.guild.id,
|
||||
message.member,
|
||||
);
|
||||
if (
|
||||
permissionLevel < command.permission &&
|
||||
!client.config.owners.includes(message.author.id)
|
||||
) {
|
||||
return message.reply(
|
||||
"Vous n'avez pas la permission d'utiliser cette commande.",
|
||||
);
|
||||
}
|
||||
|
||||
try {
|
||||
command.execute(message, args, client);
|
||||
console.log(`[${prefix}}] ${message.guild.name} | ${message.author.tag} | ${command.name}`.blue)
|
||||
loggT(`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`)
|
||||
console.log(
|
||||
`[${prefix}}] ${message.guild.name} | ${message.author.tag} | ${command.name}`
|
||||
.blue,
|
||||
);
|
||||
loggT(
|
||||
`[${prefix}] ${message.guild.name} | ${message.author.tag} | ${command.name}`,
|
||||
);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
loggE(error)
|
||||
loggE(error);
|
||||
message.reply("Erreur lors de l'exécution de la commande");
|
||||
}
|
||||
} else if (message.content === `<@!${client.user.id}>` || message.content === `<@${client.user.id}>`) {
|
||||
} else if (
|
||||
message.content === `<@!${client.user.id}>` ||
|
||||
message.content === `<@${client.user.id}>`
|
||||
) {
|
||||
message.reply(`Mon prefix est \`${prefix}\``);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -10,12 +10,18 @@ module.exports = {
|
||||
if (message.author.bot) return;
|
||||
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [message.guild.id, message.author.id], (err, row) => {
|
||||
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.blacklist == true) { return }
|
||||
if (user.blacklist == true) {
|
||||
return;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
/////////////////////////// xp systeme ///////////////////////////
|
||||
@@ -37,7 +43,6 @@ module.exports = {
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
/////////////////////////// lvl systeme //////////////////////////
|
||||
//////////////////////////////////////////////////////////////////
|
||||
@@ -45,12 +50,20 @@ module.exports = {
|
||||
if (user.xp >= 100 * user.lvl) {
|
||||
db.run(
|
||||
`UPDATE users SET xp = xp - ?, lvl = lvl + 1, pocket = pocket + ?, reputation = reputation + ? WHERE guildId = ? AND userId = ?`,
|
||||
[100 * user.lvl, ((user.lvl + 1) * 250), Math.ceil((user.lvl + 1) / 5), message.guild.id, message.author.id]
|
||||
[
|
||||
100 * user.lvl,
|
||||
(user.lvl + 1) * 250,
|
||||
Math.ceil((user.lvl + 1) / 5),
|
||||
message.guild.id,
|
||||
message.author.id,
|
||||
],
|
||||
);
|
||||
|
||||
const embedlvl = new EmbedBuilder()
|
||||
.setTitle("Nouveau niveau !")
|
||||
.setDescription(`Bravo ${message.author}, tu es passé niveau ${user.lvl + 1} sur le serveur \`${message.guild.name}\` !\nTu as reçu \`${(user.lvl + 1) * 250}\` 🪙 et \`${Math.ceil((user.lvl + 1) / 5)}\` 🔺 !`)
|
||||
.setDescription(
|
||||
`Bravo ${message.author}, tu es passé niveau ${user.lvl + 1} sur le serveur \`${message.guild.name}\` !\nTu as reçu \`${(user.lvl + 1) * 250}\` 🪙 et \`${Math.ceil((user.lvl + 1) / 5)}\` 🔺 !`,
|
||||
)
|
||||
.setColor(await embedColor(message.author.id, message.guild.id));
|
||||
|
||||
message.author.send({ embeds: [embedlvl] });
|
||||
|
||||
+119
-75
@@ -1,65 +1,108 @@
|
||||
const { Events, ActivityType } = require('discord.js');
|
||||
const db = require('../fonctions/database.js');
|
||||
var loggT = require('../loggerT.js');
|
||||
var loggE = require('../loggerE.js');
|
||||
const { Events, ActivityType } = require("discord.js");
|
||||
const db = require("../fonctions/database.js");
|
||||
var loggT = require("../loggerT.js");
|
||||
var loggE = require("../loggerE.js");
|
||||
|
||||
module.exports = {
|
||||
name: Events.ClientReady,
|
||||
async execute(client) {
|
||||
console.log(`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs\n`.green);
|
||||
loggT(`\n\n`)
|
||||
loggT(`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs`);
|
||||
console.log(
|
||||
`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs\n`
|
||||
.green,
|
||||
);
|
||||
loggT(`\n\n`);
|
||||
loggT(
|
||||
`[READY] ${client.user.tag} est prêt ||| ${client.guilds.cache.size} serveurs | ${client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)} utilisateurs`,
|
||||
);
|
||||
|
||||
console.log('setPresence : ...')
|
||||
console.log("setPresence : ...");
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: '/azelie',
|
||||
activities: [
|
||||
{
|
||||
name: "/azelie",
|
||||
type: ActivityType.Streaming,
|
||||
url: 'https://twitch.tv/tuturp33'
|
||||
}],
|
||||
status: 'online'
|
||||
url: "https://twitch.tv/tuturp33",
|
||||
},
|
||||
],
|
||||
status: "online",
|
||||
});
|
||||
console.log('setPresence : OK')
|
||||
console.log("setPresence : OK");
|
||||
|
||||
|
||||
client.guilds.cache.forEach(guild => {
|
||||
console.log('BD update : ...')
|
||||
db.run(`INSERT OR IGNORE INTO config (guildId, name, value) VALUES (?, ?, ?)`, [guild.id, 'prefix', '&']);
|
||||
guild.members.cache.forEach(member => {
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, userId) VALUES (?, ?)`, [guild.id, member.id]);
|
||||
client.guilds.cache.forEach((guild) => {
|
||||
console.log("BD update : ...");
|
||||
db.run(
|
||||
`INSERT OR IGNORE INTO config (guildId, name, value) VALUES (?, ?, ?)`,
|
||||
[guild.id, "prefix", "&"],
|
||||
);
|
||||
guild.members.cache.forEach((member) => {
|
||||
db.run(`INSERT OR IGNORE INTO users (guildId, userId) VALUES (?, ?)`, [
|
||||
guild.id,
|
||||
member.id,
|
||||
]);
|
||||
});
|
||||
console.log('BD update : OK')
|
||||
console.log("BD update : OK");
|
||||
});
|
||||
|
||||
|
||||
setInterval(async () => {
|
||||
console.log('Recompense vocal : ...')
|
||||
client.guilds.cache.forEach(guild => {
|
||||
guild.members.cache.filter(member => member.voice.channel).forEach(member => {
|
||||
setInterval(
|
||||
async () => {
|
||||
console.log("Recompense vocal : ...");
|
||||
client.guilds.cache.forEach((guild) => {
|
||||
guild.members.cache
|
||||
.filter((member) => member.voice.channel)
|
||||
.forEach((member) => {
|
||||
if (member.voice.selfMute == true) {
|
||||
db.run('UPDATE users SET pocket = pocket + 50 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run('UPDATE users SET xp = xp + 5 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
|
||||
db.run(
|
||||
"UPDATE users SET pocket = pocket + 50 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
"UPDATE users SET xp = xp + 5 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
} else {
|
||||
db.run('UPDATE users SET pocket = pocket + 100 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run('UPDATE users SET xp = xp + 10 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run(
|
||||
"UPDATE users SET pocket = pocket + 100 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
"UPDATE users SET xp = xp + 10 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
}
|
||||
});
|
||||
guild.members.cache.filter(member => member.voice.channel && member.voice.streaming).forEach(member => {
|
||||
db.run('UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run('UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
guild.members.cache
|
||||
.filter((member) => member.voice.channel && member.voice.streaming)
|
||||
.forEach((member) => {
|
||||
db.run(
|
||||
"UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
"UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
});
|
||||
guild.members.cache
|
||||
.filter((member) => member.voice.channel && member.voice.selfVideo)
|
||||
.forEach((member) => {
|
||||
db.run(
|
||||
"UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
db.run(
|
||||
"UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?",
|
||||
[guild.id, member.id],
|
||||
);
|
||||
});
|
||||
});
|
||||
console.log("Recompense vocal : OK");
|
||||
},
|
||||
15 * 60 * 1000,
|
||||
);
|
||||
|
||||
});
|
||||
guild.members.cache.filter(member => member.voice.channel && member.voice.selfVideo).forEach(member => {
|
||||
db.run('UPDATE users SET pocket = pocket + 200 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
db.run('UPDATE users SET xp = xp + 20 WHERE guildId = ? AND userId = ?', [guild.id, member.id]);
|
||||
});
|
||||
});
|
||||
console.log('Recompense vocal : OK')
|
||||
}, 15 * 60 * 1000);
|
||||
|
||||
setInterval(async () => {
|
||||
console.log('Bâtiment : ...')
|
||||
setInterval(
|
||||
async () => {
|
||||
console.log("Bâtiment : ...");
|
||||
const team = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM teams`, (err, row) => {
|
||||
if (err) reject(err);
|
||||
@@ -67,51 +110,52 @@ module.exports = {
|
||||
});
|
||||
});
|
||||
|
||||
if (team.location == 0) return
|
||||
if (team.location == 0) return;
|
||||
db.run(`UPDATE teams SET bank = bank + ?`, [team.location]);
|
||||
console.log('Bâtiment : OK')
|
||||
}, 1 * 60 * 1000)
|
||||
console.log("Bâtiment : OK");
|
||||
},
|
||||
1 * 60 * 1000,
|
||||
);
|
||||
|
||||
//AntiCrash
|
||||
process.on('unhandledRejection', (error) => {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Unhandled Rejection/Catch'.red);
|
||||
process.on("unhandledRejection", (error) => {
|
||||
if (error.code == "10064") return;
|
||||
if (error.code == "10008") return;
|
||||
console.log(" [antiCrash] :: Unhandled Rejection/Catch".red);
|
||||
console.log(`${error}`.grey);
|
||||
loggE(error)
|
||||
loggE(error);
|
||||
});
|
||||
|
||||
process.on("uncaughtException", (error, origin) => {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Uncaught Exception/Catch'.red);
|
||||
if (error.code == "10064") return;
|
||||
if (error.code == "10008") return;
|
||||
console.log(" [antiCrash] :: Uncaught Exception/Catch".red);
|
||||
console.log(`${error}`.grey);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
console.log("Information supplémentaire:", origin);
|
||||
loggE(error);
|
||||
});
|
||||
|
||||
process.on('uncaughtExceptionMonitor', (error, origin) => {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Uncaught Exception Monitor/Catch'.red);
|
||||
process.on("uncaughtExceptionMonitor", (error, origin) => {
|
||||
if (error.code == "10064") return;
|
||||
if (error.code == "10008") return;
|
||||
console.log(" [antiCrash] :: Uncaught Exception Monitor/Catch".red);
|
||||
console.log(`${error}`.grey);
|
||||
console.log('Information supplémentaire:', origin);
|
||||
loggE(error)
|
||||
console.log("Information supplémentaire:", origin);
|
||||
loggE(error);
|
||||
});
|
||||
|
||||
process.on('beforeExit', (code) => {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Before Exit'.red);
|
||||
console.log('Code de sortie:', code);
|
||||
process.on("beforeExit", (code) => {
|
||||
if (error.code == "10064") return;
|
||||
if (error.code == "10008") return;
|
||||
console.log(" [antiCrash] :: Before Exit".red);
|
||||
console.log("Code de sortie:", code);
|
||||
});
|
||||
|
||||
process.on('exit', (code) => {
|
||||
if (error.code == "10064") return
|
||||
if (error.code == "10008") return
|
||||
console.log(' [antiCrash] :: Exit'.red);
|
||||
console.log('Code de sortie:', code);
|
||||
process.on("exit", (code) => {
|
||||
if (error.code == "10064") return;
|
||||
if (error.code == "10008") return;
|
||||
console.log(" [antiCrash] :: Exit".red);
|
||||
console.log("Code de sortie:", code);
|
||||
});
|
||||
|
||||
},
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const sqlite3 = require("sqlite3").verbose();
|
||||
|
||||
let db = new sqlite3.Database('./db.sqlite');
|
||||
let db = new sqlite3.Database("./db.sqlite");
|
||||
|
||||
db.run(`CREATE TABLE IF NOT EXISTS config (
|
||||
guildId TEXT,
|
||||
|
||||
+39
-25
@@ -1,37 +1,51 @@
|
||||
const db = require('./database.js');
|
||||
const db = require("./database.js");
|
||||
|
||||
module.exports = async function embedColor(memberId, serverId) {
|
||||
const user = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM users WHERE guildId = ? AND userId = ?`, [serverId, memberId], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM users WHERE guildId = ? AND userId = ?`,
|
||||
[serverId, memberId],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
let embedColor = user.embed;
|
||||
if (embedColor === 'random') {
|
||||
const colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'brown', 'black', 'white'];
|
||||
if (embedColor === "random") {
|
||||
const colors = [
|
||||
"red",
|
||||
"orange",
|
||||
"yellow",
|
||||
"green",
|
||||
"blue",
|
||||
"purple",
|
||||
"brown",
|
||||
"black",
|
||||
"white",
|
||||
];
|
||||
embedColor = colors[Math.floor(Math.random() * colors.length)];
|
||||
}
|
||||
if (!embedColor) {
|
||||
embedColor = '#FFD700';
|
||||
} else if (embedColor === 'red') {
|
||||
embedColor = '#FF0000';
|
||||
} else if (embedColor === 'orange') {
|
||||
embedColor = '#FFA500';
|
||||
} else if (embedColor === 'yellow') {
|
||||
embedColor = '#FFFF00';
|
||||
} else if (embedColor === 'green') {
|
||||
embedColor = '#008000';
|
||||
} else if (embedColor === 'blue') {
|
||||
embedColor = '#0000FF';
|
||||
} else if (embedColor === 'purple') {
|
||||
embedColor = '#800080';
|
||||
} else if (embedColor === 'brown') {
|
||||
embedColor = '#A52A2A';
|
||||
} else if (embedColor === 'black') {
|
||||
embedColor = '#000000';
|
||||
} else if (embedColor === 'white') {
|
||||
embedColor = '#FFFFFF';
|
||||
embedColor = "#FFD700";
|
||||
} else if (embedColor === "red") {
|
||||
embedColor = "#FF0000";
|
||||
} else if (embedColor === "orange") {
|
||||
embedColor = "#FFA500";
|
||||
} else if (embedColor === "yellow") {
|
||||
embedColor = "#FFFF00";
|
||||
} else if (embedColor === "green") {
|
||||
embedColor = "#008000";
|
||||
} else if (embedColor === "blue") {
|
||||
embedColor = "#0000FF";
|
||||
} else if (embedColor === "purple") {
|
||||
embedColor = "#800080";
|
||||
} else if (embedColor === "brown") {
|
||||
embedColor = "#A52A2A";
|
||||
} else if (embedColor === "black") {
|
||||
embedColor = "#000000";
|
||||
} else if (embedColor === "white") {
|
||||
embedColor = "#FFFFFF";
|
||||
}
|
||||
return embedColor;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
const db = require('./database.js');
|
||||
const db = require("./database.js");
|
||||
|
||||
module.exports = async function getPermissionLevel(serverId, user) {
|
||||
const roles = user.roles.cache.map(role => role.id);
|
||||
const roles = user.roles.cache.map((role) => role.id);
|
||||
|
||||
const perms = await new Promise((resolve, reject) => {
|
||||
db.all(`SELECT * FROM rolePermission WHERE guildId = ? AND roleId IN (${roles.map(() => '?').join(',')})`, [serverId, ...roles], (err, rows) => {
|
||||
db.all(
|
||||
`SELECT * FROM rolePermission WHERE guildId = ? AND roleId IN (${roles.map(() => "?").join(",")})`,
|
||||
[serverId, ...roles],
|
||||
(err, rows) => {
|
||||
if (err) reject(err);
|
||||
resolve(rows);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
const highestPermission = Math.max(...perms.map(perm => perm.permission));
|
||||
const highestPermission = Math.max(...perms.map((perm) => perm.permission));
|
||||
return highestPermission;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
const db = require('./database.js');
|
||||
const db = require("./database.js");
|
||||
|
||||
module.exports = async function getPrefix(serverId) {
|
||||
const prefix = await new Promise((resolve, reject) => {
|
||||
db.get(`SELECT * FROM config WHERE guildId = ? AND name = ?`, [serverId, 'prefix'], (err, row) => {
|
||||
db.get(
|
||||
`SELECT * FROM config WHERE guildId = ? AND name = ?`,
|
||||
[serverId, "prefix"],
|
||||
(err, row) => {
|
||||
if (err) reject(err);
|
||||
resolve(row);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
return prefix ? prefix.value : '&';
|
||||
}
|
||||
return prefix ? prefix.value : "&";
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
module.exports = function loadCommands(client, dir) {
|
||||
let count = 0;
|
||||
@@ -7,15 +7,15 @@ module.exports = function loadCommands(client, dir) {
|
||||
const filePath = path.join(__dirname, dir, file);
|
||||
if (fs.statSync(filePath).isDirectory()) {
|
||||
count += loadCommands(client, path.join(dir, file));
|
||||
} else if (file.endsWith('.js') || file.endsWith('.ts')) {
|
||||
} else if (file.endsWith(".js") || file.endsWith(".ts")) {
|
||||
try {
|
||||
delete require.cache[require.resolve(filePath)];
|
||||
const command = require(filePath);
|
||||
const fileName = file.replace(/\.js|\.ts/g, '');
|
||||
const fileName = file.replace(/\.js|\.ts/g, "");
|
||||
if (!command.name) command.name = fileName;
|
||||
if (!command.category) {
|
||||
const parentDir = path.basename(path.dirname(filePath));
|
||||
command.category = parentDir === 'commands' ? 'other' : parentDir;
|
||||
command.category = parentDir === "commands" ? "other" : parentDir;
|
||||
}
|
||||
if (!command.permission) command.permission = 0;
|
||||
client.commands.set(fileName, command);
|
||||
@@ -32,4 +32,4 @@ module.exports = function loadCommands(client, dir) {
|
||||
}
|
||||
});
|
||||
return count;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
module.exports = function loadEvents(client, dir) {
|
||||
let count = 0;
|
||||
@@ -7,10 +7,10 @@ module.exports = function loadEvents(client, dir) {
|
||||
const filePath = path.join(__dirname, dir, file);
|
||||
if (fs.statSync(filePath).isDirectory()) {
|
||||
loadEvents(client, path.join(dir, file));
|
||||
} else if (file.endsWith('.js') || file.endsWith('.ts')) {
|
||||
} else if (file.endsWith(".js") || file.endsWith(".ts")) {
|
||||
delete require.cache[require.resolve(filePath)];
|
||||
const event = require(filePath);
|
||||
if (typeof event.execute === 'function') {
|
||||
if (typeof event.execute === "function") {
|
||||
client.on(event.name, (...args) => event.execute(...args, client)); // Specify the type of 'args' as an array of any type
|
||||
count++;
|
||||
} else {
|
||||
@@ -19,4 +19,4 @@ module.exports = function loadEvents(client, dir) {
|
||||
}
|
||||
});
|
||||
return count;
|
||||
}
|
||||
};
|
||||
|
||||
+17
-17
@@ -1,4 +1,4 @@
|
||||
const fs = require("fs")
|
||||
const fs = require("fs");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////
|
||||
@@ -8,11 +8,11 @@ const fs = require("fs")
|
||||
|
||||
function saveLOGE(LOG) {
|
||||
try {
|
||||
let data = fs.readFileSync('logs/ERROR.txt', 'utf8');
|
||||
const log = data.split('\n');
|
||||
let data = fs.readFileSync("logs/ERROR.txt", "utf8");
|
||||
const log = data.split("\n");
|
||||
log.push(...LOG);
|
||||
data = log.join('\n');
|
||||
fs.writeFileSync('logs/ERROR.txt', data);
|
||||
data = log.join("\n");
|
||||
fs.writeFileSync("logs/ERROR.txt", data);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
@@ -20,19 +20,19 @@ function saveLOGE(LOG) {
|
||||
module.exports = function loggE(erreur) {
|
||||
const config = require("./config.json");
|
||||
//*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ TIME /////////////////////////////////////////////////////////////////////////////
|
||||
const d = new Date()
|
||||
var jours = d.getDate().toString().padStart(2, "0")
|
||||
var mois = d.getMonth().toString().padStart(2, "0") + 1
|
||||
var année = d.getFullYear().toString().padStart(2, "0")
|
||||
var heures = d.getHours().toString().padStart(2, "0")
|
||||
var minutes = d.getMinutes().toString().padStart(2, "0")
|
||||
var secondes = d.getSeconds().toString().padStart(2, "0")
|
||||
var milliseconds = d.getMilliseconds().toString().padStart(3, "0")
|
||||
const time = ` ${jours}/${mois}/${année} =>> ${heures}h ${minutes}m ${secondes}s ${milliseconds}ms `
|
||||
const d = new Date();
|
||||
var jours = d.getDate().toString().padStart(2, "0");
|
||||
var mois = d.getMonth().toString().padStart(2, "0") + 1;
|
||||
var année = d.getFullYear().toString().padStart(2, "0");
|
||||
var heures = d.getHours().toString().padStart(2, "0");
|
||||
var minutes = d.getMinutes().toString().padStart(2, "0");
|
||||
var secondes = d.getSeconds().toString().padStart(2, "0");
|
||||
var milliseconds = d.getMilliseconds().toString().padStart(3, "0");
|
||||
const time = ` ${jours}/${mois}/${année} =>> ${heures}h ${minutes}m ${secondes}s ${milliseconds}ms `;
|
||||
//*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ CODE DE LOG ///////////////////////////////////////////////////////////////////////
|
||||
const text = erreur
|
||||
const ERROR = `[ERROR] || ${time} || ${text}`
|
||||
const text = erreur;
|
||||
const ERROR = `[ERROR] || ${time} || ${text}`;
|
||||
const LOG = [];
|
||||
LOG.push(ERROR);
|
||||
saveLOGE(LOG);
|
||||
}
|
||||
};
|
||||
|
||||
+23
-24
@@ -1,4 +1,4 @@
|
||||
const fs = require("fs")
|
||||
const fs = require("fs");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//////////
|
||||
@@ -8,11 +8,11 @@ const fs = require("fs")
|
||||
|
||||
function saveLOGT(LOG) {
|
||||
try {
|
||||
let data = fs.readFileSync('logs/TEXT.txt', 'utf8');
|
||||
const log = data.split('\n');
|
||||
let data = fs.readFileSync("logs/TEXT.txt", "utf8");
|
||||
const log = data.split("\n");
|
||||
log.push(...LOG);
|
||||
data = log.join('\n');
|
||||
fs.writeFileSync('logs/TEXT.txt', data);
|
||||
data = log.join("\n");
|
||||
fs.writeFileSync("logs/TEXT.txt", data);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
@@ -21,31 +21,30 @@ function saveLOGT(LOG) {
|
||||
module.exports = function loggT(msg) {
|
||||
const config = require("./config.json");
|
||||
if (config.test == true) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
|
||||
if (!msg == "\n" || !msg == "\n\n") {
|
||||
//*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ TIME /////////////////////////////////////////////////////////////////////////////
|
||||
const d = new Date()
|
||||
var jours = d.getDate().toString().padStart(2, "0")
|
||||
var mois = d.getMonth().toString().padStart(2, "0")
|
||||
var année = d.getFullYear().toString().padStart(2, "0")
|
||||
var heures = d.getHours().toString().padStart(2, "0")
|
||||
var minutes = d.getMinutes().toString().padStart(2, "0")
|
||||
var secondes = d.getSeconds().toString().padStart(2, "0")
|
||||
var milliseconds = d.getMilliseconds().toString().padStart(3, "0")
|
||||
const time = ` ${jours}/${mois}/${année} =>> ${heures}h ${minutes}m ${secondes}s ${milliseconds}ms `
|
||||
const d = new Date();
|
||||
var jours = d.getDate().toString().padStart(2, "0");
|
||||
var mois = d.getMonth().toString().padStart(2, "0");
|
||||
var année = d.getFullYear().toString().padStart(2, "0");
|
||||
var heures = d.getHours().toString().padStart(2, "0");
|
||||
var minutes = d.getMinutes().toString().padStart(2, "0");
|
||||
var secondes = d.getSeconds().toString().padStart(2, "0");
|
||||
var milliseconds = d.getMilliseconds().toString().padStart(3, "0");
|
||||
const time = ` ${jours}/${mois}/${année} =>> ${heures}h ${minutes}m ${secondes}s ${milliseconds}ms `;
|
||||
//*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/ CODE DE LOG ///////////////////////////////////////////////////////////////////////
|
||||
const text = msg
|
||||
const MSG_T = `[TEXT] || ${time} || ${text}`
|
||||
const text = msg;
|
||||
const MSG_T = `[TEXT] || ${time} || ${text}`;
|
||||
const LOG = [];
|
||||
LOG.push(MSG_T);
|
||||
saveLOGT(LOG);
|
||||
} else {
|
||||
const MSG_T = `\n\n`;
|
||||
const LOG = [];
|
||||
LOG.push(MSG_T);
|
||||
saveLOGT(LOG);
|
||||
}
|
||||
else {
|
||||
const MSG_T = `\n\n`
|
||||
const LOG = [];
|
||||
LOG.push(MSG_T);
|
||||
saveLOGT(LOG);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
require('dotenv').config();
|
||||
require("dotenv").config();
|
||||
const { Client, IntentsBitField, Collection } = require("discord.js");
|
||||
const loadCommands = require("./fonctions/loadCommands");
|
||||
const loadEvents = require("./fonctions/loadEvents");
|
||||
const client = new Client({intents: new IntentsBitField(3276799)});
|
||||
const color = require('colors')
|
||||
var loggT = require('./loggerT.js');
|
||||
var loggE = require('./loggerE.js');
|
||||
const client = new Client({ intents: new IntentsBitField(3276799) });
|
||||
const color = require("colors");
|
||||
var loggT = require("./loggerT.js");
|
||||
var loggE = require("./loggerE.js");
|
||||
|
||||
client.events = new Collection();
|
||||
client.commands = new Collection();
|
||||
client.config = require("./config.json");
|
||||
|
||||
console.log(`${loadEvents(client, '..\\events')} events loaded`.grey);
|
||||
console.log(`${loadCommands(client, '..\\commands')} commands loaded`.grey);
|
||||
loggT(`${loadEvents(client, '..\\events')} events loaded`)
|
||||
loggT(`${loadCommands(client, '..\\commands')} commands loaded`)
|
||||
console.log(`${loadEvents(client, "..\\events")} events loaded`.grey);
|
||||
console.log(`${loadCommands(client, "..\\commands")} commands loaded`.grey);
|
||||
loggT(`${loadEvents(client, "..\\events")} events loaded`);
|
||||
loggT(`${loadCommands(client, "..\\commands")} commands loaded`);
|
||||
|
||||
client.login(process.env.TOKEN);
|
||||
Reference in New Issue
Block a user