finish organization event/command & add guild command in folder commands

This commit is contained in:
Arthur Puechberty
2026-01-17 17:23:49 +01:00
parent d5f0f4c30b
commit 6c9241f349
12 changed files with 654 additions and 599 deletions
+65 -125
View File
@@ -7,14 +7,26 @@ const {
EmbedBuilder,
} = require("discord.js");
module.exports = addCommand(
(this.name = "ping"),
(this.description = "Cette commande permet de vérifier la latence du bot."),
(this.aliases = ["latency", "lag", "responseTime"]),
(this.permissions = []),
(this.botOwnerOnly = false),
(this.dm = true),
(this.executePrefix = async (client, message, args) => {
module.exports = addCommand({
name: "ping",
description: "Cette commande permet de vérifier la latence du bot.",
aliases: ["latency", "lag", "responseTime"],
permissions: [],
botOwnerOnly: false,
dm: true,
scope: "global",
slashOptions: [
{
type: "BOOLEAN",
name: "actualiser",
description:
"Actualiser automatiquement la latence du bot toutes les 10 secondes pendant 2 minutes.",
required: false,
},
],
executePrefix: async (client, message, args) => {
const pingBtn = new ButtonBuilder()
.setCustomId("pingBtn")
.setLabel("🔄")
@@ -22,61 +34,35 @@ module.exports = addCommand(
const row = new ActionRowBuilder().addComponents(pingBtn);
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${message.author.tag}`,
iconURL: message.author.displayAvatarURL(),
});
const sendMessage = await message.reply({
embeds: [embed],
components: [row],
});
const filter = (i) => i.customId === "pingBtn";
const collector = sendMessage.createMessageComponentCollector({
filter,
time: 120000,
});
collector.on("collect", async (i) => {
if (i.user.id !== message.author.id)
return i.reply({
content: "Vous n'êtes pas l'auteur du message.",
ephemeral: true,
});
const embed = new EmbedBuilder()
const embed = (user) =>
new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${message.author.tag}`,
iconURL: message.author.displayAvatarURL(),
});
.setFooter({ text: `Demandé par ${user.tag}`, iconURL: user.displayAvatarURL() });
sendMessage.edit({ embeds: [embed], components: [row] });
i.reply({ content: "La latence a été rafraichie.", ephemeral: true });
const sendMessage = await message.reply({ embeds: [embed(message.author)], components: [row] });
const filter = (i) => i.customId === "pingBtn";
const collector = sendMessage.createMessageComponentCollector({ filter, time: 120_000 });
collector.on("collect", async (i) => {
if (i.user.id !== message.author.id)
return i.reply({ content: "Vous n'êtes pas l'auteur du message.", ephemeral: true });
await sendMessage.edit({ embeds: [embed(i.user)], components: [row] });
await i.reply({ content: "La latence a été rafraichie.", ephemeral: true });
});
collector.on("end", async () => {
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${message.author.tag}`,
iconURL: message.author.displayAvatarURL(),
});
sendMessage.edit({ embeds: [embed], components: [] });
await sendMessage.edit({ embeds: [embed(message.author)], components: [] });
});
}),
(this.executeSlash = async (client, interaction) => {
},
executeSlash: async (client, interaction) => {
const actualiser = interaction.options.getBoolean("actualiser") ?? false;
const pingBtn = new ButtonBuilder()
.setCustomId("pingBtn")
.setLabel("🔄")
@@ -84,87 +70,41 @@ module.exports = addCommand(
const row = new ActionRowBuilder().addComponents(pingBtn);
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL(),
});
const embed = (user) =>
new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({ text: `Demandé par ${user.tag}`, iconURL: user.displayAvatarURL() });
if (interaction.options.getBoolean("actualiser") === false) {
const sendMessage = await interaction.reply({
embeds: [embed],
components: [row],
});
const sendMessage = await interaction.reply({
embeds: [embed(interaction.user)],
components: actualiser ? [] : [row],
fetchReply: true,
});
if (!actualiser) {
const filter = (i) => i.customId === "pingBtn";
const collector = sendMessage.createMessageComponentCollector({
filter,
time: 120000,
});
const collector = sendMessage.createMessageComponentCollector({ filter, time: 120_000 });
collector.on("collect", async (i) => {
if (i.user.id !== interaction.user.id)
return i.reply({
content: "Vous n'êtes pas l'auteur du message.",
ephemeral: true,
});
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL(),
});
return i.reply({ content: "Vous n'êtes pas l'auteur du message.", ephemeral: true });
sendMessage.edit({ embeds: [embed], components: [row] });
i.reply({ content: "La latence a été rafraichie.", ephemeral: true });
await sendMessage.edit({ embeds: [embed(i.user)], components: [row] });
await i.reply({ content: "La latence a été rafraichie.", ephemeral: true });
});
collector.on("end", async () => {
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL(),
});
sendMessage.edit({ embeds: [embed], components: [] });
await sendMessage.edit({ embeds: [embed(interaction.user)], components: [] });
});
} else {
const sendMessage = await interaction.reply({ embeds: [embed] });
const interval = setInterval(async () => {
await sendMessage.edit({ embeds: [embed(interaction.user)] });
}, 10_000);
const interval = setInterval(() => {
const embed = new EmbedBuilder()
.setTitle("Pong !")
.setDescription(`La latence du bot est de \`${client.ws.ping}\`ms.`)
.setColor("#0099FF")
.setTimestamp()
.setFooter({
text: `Demandé par ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL(),
});
sendMessage.edit({ embeds: [embed] });
}, 10000);
setTimeout(() => {
clearInterval(interval);
}, 120000);
setTimeout(() => clearInterval(interval), 120_000);
}
}),
(this.slashOptions = new SlashCommandBuilder().addBooleanOption((option) =>
option
.setName("actualiser")
.setDescription(
"Actualiser automatiquement la latence du bot toute les 10 secondes pandant 2 minutes.",
)
.setRequired(false),
)),
);
},
});