add perfect help commande

This commit is contained in:
Tutur33
2024-02-15 02:24:42 +01:00
parent cd03559a98
commit 3e7020cd00
36 changed files with 91 additions and 24 deletions
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: 'bunker',
description: 'Activer le bot bunker',
category: 'antiraid',
async execute(message, args, client) {
const guild = message.guild;
const dangerousPermissions = [
+1
View File
@@ -3,6 +3,7 @@ const { PermissionsBitField } = require('discord.js');
module.exports = {
name: 'invite',
description: 'Crée un lien d\'invitation pour un serveur spécifique',
category: 'botcontrol',
async execute(message, args, client) {
// Vérifie si l'ID du serveur a été fourni
if (!args[0]) {
+1
View File
@@ -3,6 +3,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'listen',
description: 'Changer le status du bot en listen',
category: 'botcontrol',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+1
View File
@@ -3,6 +3,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'play',
description: 'Changer le status du bot en play',
category: 'botcontrol',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: 'say',
description: 'Fait dire quelque chose au bot',
category: 'botcontrol',
async execute(message, args) {
// Vérifie si un message a été spécifié
if (args.length === 0) {
+1
View File
@@ -5,6 +5,7 @@ const path = require('path');
module.exports = {
name: 'servers',
description: 'Liste les serveur du bot',
category: 'botcontrol',
async execute(message, args, client) {
const guilds = Array.from(client.guilds.cache.values()).map((guild, index) => `${index + 1}. ${guild.name} : ${guild.id}`).join("\n\n");
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: 'set',
description: 'Modifier divers paramètres du bot.',
category: 'botcontrol',
async execute(message, args, client) {
// Vérifiez si l'utilisateur a fourni suffisamment d'arguments
if (args.length < 2) {
+1
View File
@@ -3,6 +3,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'stream',
description: 'Mettre le bot en stream',
category: 'botcontrol',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+1
View File
@@ -3,6 +3,7 @@ const { ActivityType } = require("discord.js");
module.exports = {
name: 'watch',
description: 'Changer le status du bot en watch',
category: 'botcontrol',
async execute(message, args, client) {
const streamText = args.join(' ') || 'Streaming';
const streamURL = 'https://www.twitch.tv/valou336_yt';
+1
View File
@@ -3,6 +3,7 @@ const { TwoZeroFourEight } = require('discord-gamecord');
module.exports = {
name: '2048',
description: 'Jouer au jeu 2048',
category: 'game',
async execute(message, args) {
const Game = new TwoZeroFourEight({
message: message,
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: '8ball',
description: 'Posez une question à la boule magique 8',
category: 'game',
execute(message, args) {
if (!args[0]) {
return message.reply("Veuillez poser une question.");
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: 'catsay',
description: 'Faire parler les chat',
category: 'game',
async execute( message, args) {
message.delete()
+1
View File
@@ -3,6 +3,7 @@ const { Minesweeper } = require('discord-gamecord');
module.exports = {
name: 'demineur',
description: 'Jouer à un jeu démineur',
category: 'game',
async execute(message, args) {
const Game = new Minesweeper({
message: message,
+1
View File
@@ -29,6 +29,7 @@ const sentences = [
module.exports = {
name: 'fasttype',
description: 'Jouer à un jeu de vitesse de frappe',
category: 'game',
async execute(message, args) {
const randomSentence = sentences[Math.floor(Math.random() * sentences.length)];
+1
View File
@@ -3,6 +3,7 @@ const { FindEmoji } = require('discord-gamecord');
module.exports = {
name: 'findemoji',
description: 'Jouer au jeu Trouver Emoji',
category: 'game',
async execute(message, args) {
const Game = new FindEmoji({
message: message,
+1
View File
@@ -3,6 +3,7 @@ const { Flood } = require('discord-gamecord');
module.exports = {
name: 'flood',
description: 'Jouer au jeu Flood',
category: 'game',
async execute(message, args) {
const Game = new Flood({
message: message,
+1
View File
@@ -3,6 +3,7 @@ const { GuessThePokemon } = require('discord-gamecord');
module.exports = {
name: 'guesspokemon',
description: 'Jouer au jeu trouver le pokemon',
category: 'game',
async execute(message, args) {
const Game = new GuessThePokemon({
message: message,
+1
View File
@@ -3,6 +3,7 @@ const { TicTacToe } = require('discord-gamecord');
module.exports = {
name: 'morpion',
description: 'Jouer à morpion',
category: 'game',
async execute(message, args) {
if (!message.mentions.members.first())
return message.reply("Veuillez mentionner un adversaire");
+1
View File
@@ -28,6 +28,7 @@ const words = [
module.exports = {
name: 'pendu',
description: 'Jouer à pendu',
category: 'game',
async execute(message, args) {
const game = new Hangman({
message: message,
+1
View File
@@ -3,6 +3,7 @@ const choices = ["pierre", "papier", "ciseaux"];
module.exports = {
name: 'pfc',
description: 'Jouer à pierre-papier-ciseaux',
category: 'game',
async execute(message, args) {
const userChoice = args[0];
const botChoice = choices[Math.floor(Math.random() * choices.length)];
+1
View File
@@ -4,6 +4,7 @@ module.exports = {
name: 'puissance4',
usage: 'puissance4',
description: 'Lancer une partis de puissance4',
category: 'game',
async execute(message) {
if (!message.mentions || !message.mentions.members.first())
+1
View File
@@ -3,6 +3,7 @@ const { Slots } = require('discord-gamecord');
module.exports = {
name: 'slot',
description: 'Jouer au jeu Slot',
category: 'game',
async execute(message, args) {
const Game = new Slots({
message: message,
+1
View File
@@ -4,6 +4,7 @@ module.exports = {
name: 'snake',
usage: 'snake',
description: 'Lancer une partis de snake',
category: 'game',
async execute(message, args) {
new Snake({
+1
View File
@@ -50,6 +50,7 @@ const shortWords = words.filter(word => word.length === 5);
module.exports = {
name: 'wordle',
description: 'Jouer à Wordle',
category: 'game',
async execute(message, args) {
const Game = new Wordle({
message: message,
+1
View File
@@ -3,6 +3,7 @@ const axios = require('axios');
module.exports = {
name: 'create',
description: 'Crée un emoji',
category: 'gestion',
async execute(message, args, client) {
if (!args.length) {
return message.channel.send({ content: "Veuillez spécifier un émoji." });
+1
View File
@@ -1,6 +1,7 @@
module.exports = {
name: 'dm',
description: 'Envoie un message privé à un utilisateur',
category: 'gestion',
async execute(message, args) {
// Vérifie si un utilisateur a été mentionné
const user = message.mentions.users.first();
+1
View File
@@ -4,6 +4,7 @@ const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder } = require('dis
module.exports = {
name: 'embed',
description: 'Crée un embed customisable',
category: 'gestion',
async execute(message, args, client) {
const embed = new EmbedBuilder();
+1
View File
@@ -3,6 +3,7 @@ const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder } = require('dis
module.exports = {
name: 'massiverole',
description: 'Donne un rôle à tous les membres du serveur',
category: 'gestion',
async execute(message, args) {
// Vérifie si un rôle a été mentionné
const role = message.mentions.roles.first();
+1
View File
@@ -2,6 +2,7 @@ const { PermissionsBitField} = require("discord.js")
module.exports = {
name: 'renew',
description: 'Renew un salon',
category: 'gestion',
async execute(message, args, client) {
const guild = message.guild;
const channel = message.mentions.channels.first() || message.channel;
+1
View File
@@ -3,6 +3,7 @@ const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder } = require('dis
module.exports = {
name: 'unmassiverole',
description: 'Retire un rôle à tous les membres du serveur',
category: 'gestion',
async execute(message, args, client) {
// Vérifie si un rôle a été mentionné
const role = message.mentions.roles.first();
+56 -24
View File
@@ -2,47 +2,79 @@ const { EmbedBuilder, StringSelectMenuBuilder, ActionRowBuilder } = require("di
module.exports = {
name: 'help',
description: 'Affiche la liste des commandes',
category: 'other',
emote: '📚',
utilisation: '<commande>',
async execute(message, args, client) {
const embed = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Aide')
.setDescription('Sélectionnez une catégorie pour voir les commandes correspondantes.');
const categories = {
antiraid: [],
botcontrol: [],
game: [],
gestion: [],
utils: [],
other: [],
// Ajoutez plus de catégories si nécessaire
};
const embedCat1 = new EmbedBuilder()
// Organisez les commandes par catégorie
for (const command of client.commands.values()) {
if (command.category) {
categories[command.category].push({ name: command.name, description: command.description, emote: command.emote, utilisation: command.utilisation});
}
}
let description = 'Sélectionnez une catégorie parmi les options ci-dessous pour obtenir de l\'aide sur les commandes correspondantes.\n\n';
for (const [category, commands] of Object.entries(categories)) {
description += `**Catégorie ${category}**\n`;
description += commands.length > 0 ? '> ' + commands.map(command => `\`${command.name}\``).join(', ') : '> Aucune commande dans cette catégorie';
description += '\n\n';
}
const embeds = {
home: new EmbedBuilder()
.setColor('#0099ff')
.setTitle('📚 Information')
.setDescription(description)
.setThumbnail(message.guild.iconURL())
};
// Créez un embed pour chaque catégorie
for (const [category, commands] of Object.entries(categories)) {
let description;
if (commands.length > 0) {
description = commands.map(command => `${command.emote ? ` ${command.emote}` : '🔧'} \`+${command.name}${command.utilisation ? ` ${command.utilisation}` : ''}\`\n ${command.description}`).join('\n');
} else {
description = 'Aucune commande dans cette catégorie.';
}
embeds[category] = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Catégorie 1')
.setDescription('Commandes de la catégorie 1');
const embedCat2 = new EmbedBuilder()
.setColor('#0099ff')
.setTitle('Catégorie 2')
.setDescription('Commandes de la catégorie 2');
.setTitle(`Catégorie ${category}`)
.setDescription(description);
}
const menu = new StringSelectMenuBuilder()
.setCustomId('help_menu')
.setPlaceholder('Sélectionnez une catégorie')
.addOptions([
{ label: 'Accueil', value: 'home' },
{ label: 'Catégorie 1', value: 'cat1' },
{ label: 'Catégorie 2', value: 'cat2' },
// Ajoutez plus d'options pour chaque catégorie de commandes
...Object.keys(categories).map(category => ({ label: `Catégorie ${category}`, value: category })),
]);
const row = new ActionRowBuilder()
.addComponents(menu);
const sentMessage = await message.reply({ embeds: [embed], components: [row] });
const sentMessage = await message.reply({ embeds: [embeds.home], components: [row] });
const filter = i => i.customId === 'help_menu' && i.user.id === message.author.id;
const collector = sentMessage.createMessageComponentCollector({ filter, time: 15000 })
const collector = sentMessage.createMessageComponentCollector({ filter, time: 15000 });
collector.on('collect', async (interaction) => {
if (interaction.values[0] === 'home') {
await interaction.update({ embeds: [embed] });
} else if (interaction.values[0] === 'cat1') {
await interaction.update({ embeds: [embedCat1] });
} else if (interaction.values[0] === 'cat2') {
await interaction.update({ embeds: [embedCat2] });
}
await interaction.update({ embeds: [embeds[interaction.values[0]]] });
});
collector.on('end', () => {
sentMessage.edit({ components: [] });
});
},
};
+1
View File
@@ -2,6 +2,7 @@ const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require(
module.exports = {
name: 'avatar',
description: 'Affiche l\'avatar d\'un utilisateur',
category: 'utils',
async execute(message, args, client) {
let user;
if (message.mentions.users.size > 0) {
+1
View File
@@ -3,6 +3,7 @@ const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
module.exports = {
name: 'ping',
description: 'Command to check the latency of the bot.',
category: 'utils',
async execute(message, args, client) {
const ping = new ButtonBuilder()
.setCustomId('confirm')
+1
View File
@@ -2,6 +2,7 @@ const { EmbedBuilder } = require("discord.js")
module.exports = {
name: 'serverinfo',
description: 'Affiche les informations sur le serveur',
category: 'utils',
async execute(message, args, client) {
const embed = new EmbedBuilder()
.setAuthor({name: `${message.guild.name}`, iconURL: message.guild.iconURL({dynamic : true})})
+1
View File
@@ -2,6 +2,7 @@ const { EmbedBuilder, User } = require("discord.js")
module.exports = {
name: 'snipe',
description: 'Affiche le dernier message supprimé dans le salon',
category: 'utils',
async execute(message, args, client) {
// Récupère le dernier message supprimé du salon
let snipe = client.snipes.get(message.channel.id);
+1
View File
@@ -2,6 +2,7 @@ const { EmbedBuilder } = require("discord.js")
module.exports = {
name: 'userinfo',
description: 'Affiche les informations sur un utilisateur',
category: 'utils',
async execute(message, args, client) {
let user;
if (args.length > 0) {