From 1954c60e0d14ce0a139bf32efae3075706039d7d Mon Sep 17 00:00:00 2001 From: Tutur33 Date: Mon, 26 Feb 2024 14:20:12 +0100 Subject: [PATCH] add command --- commands/botcontrol/invite.js | 53 ----------------------------------- commands/botcontrol/invite.ts | 41 +++++++++++++++++++++++++++ commands/botcontrol/leave.ts | 3 +- commands/help.ts | 2 +- 4 files changed, 44 insertions(+), 55 deletions(-) delete mode 100644 commands/botcontrol/invite.js create mode 100644 commands/botcontrol/invite.ts diff --git a/commands/botcontrol/invite.js b/commands/botcontrol/invite.js deleted file mode 100644 index 48a7e99..0000000 --- a/commands/botcontrol/invite.js +++ /dev/null @@ -1,53 +0,0 @@ -const { PermissionsBitField } = require('discord.js'); - -module.exports = { - name: 'invite', - aliases: ['inv'], - description: 'Crée un lien d\'invitation pour un serveur spécifique', - emote: '🔗', - utilisation: 'invite [guildId]', - category: 'botcontrol', - - async execute(message, args, client) { - // Vérifie si l'ID du serveur a été fourni - if (!args[0]) { - return message.reply('Veuillez fournir l\'ID du serveur.'); - } - - const guildId = args[0]; - let guild; - - // Tente de trouver le serveur par ID - try { - guild = await client.guilds.fetch(guildId); - } catch (error) { - console.error(error); - return message.reply('Je ne peux pas trouver le serveur avec cet ID.'); - } - - // Vérifie si le bot est membre du serveur - if (!guild) { - return message.reply('Le bot n\'est pas membre de ce serveur.'); - } - - const botMember = guild.members.cache.get(client.user.id); - - // Vérifie si le bot a la permission de créer des invitations - if (!botMember.permissions.has(PermissionsBitField.Flags.createInvite)) { - return message.reply('Le bot n\'a pas la permission de créer des invitations sur ce serveur.'); - } - - const channel = guild.channels.cache - .filter((channel) => channel.type === 'GUILD_TEXT') - .first(); - if (!channel) return message.channel.send(`Aucun channel textuel n'a été trouvé dans ce serveur.`); - - await channel - .createInvite({ - maxAge: 0, - maxUses: 0, - }).then(async (invite) => { - message.channel.send(`Invitation créée pour le serveur ${guild.name} : ${invite.url}`); - }) - }, -}; \ No newline at end of file diff --git a/commands/botcontrol/invite.ts b/commands/botcontrol/invite.ts new file mode 100644 index 0000000..8c577b1 --- /dev/null +++ b/commands/botcontrol/invite.ts @@ -0,0 +1,41 @@ +import { PermissionsBitField, Message, Client } from 'discord.js'; + +module.exports = { + name: 'invite', + aliases: ['inv'], + description: 'Crée un lien d\'invitation pour un serveur spécifique', + emote: '🔗', + utilisation: 'invite [guildId]', + category: 'botcontrol', + + async execute(message: Message, args: string[], client: Client) { + if (!args[0]) return message.reply('Veuillez fournir l\'ID du serveur.'); + + const guildId = args[0]; + let guild: any; + + try { + guild = await client.guilds.fetch(guildId); + } catch (error) { + console.error(error); + return message.reply('Je ne peux pas trouver le serveur avec cet ID.'); + } + + if (!guild) return message.reply('Le bot n\'est pas membre de ce serveur.'); + + if (!client.user) return; + const botMember = guild.members.cache.get(client.user.id); + + const channel = guild.channels.cache + .filter((channel: any) => channel.type === 0) + .first(); + if (!channel) return message.channel.send(`Aucun channel textuel n'a été trouvé dans ce serveur.`); + + channel.createInvite({ + maxAge: 0, + maxUses: 0, + }).then(async (invite: any) => { + message.channel.send(`Invitation créée pour le serveur ${guild.name} : ${invite.url}`); + }) + }, +}; \ No newline at end of file diff --git a/commands/botcontrol/leave.ts b/commands/botcontrol/leave.ts index 8231206..3e8bd8d 100644 --- a/commands/botcontrol/leave.ts +++ b/commands/botcontrol/leave.ts @@ -4,7 +4,8 @@ module.exports = { aliases: ['leaveguild'], description: "Faire quitter le bot un serveur", emote: '🚪', - utilisation: 'leave [guildId]', + utilisation: '[guildId]', + permission: '10', async execute(message: Message, args: string[], client: Client) { if (!message.guild) return; diff --git a/commands/help.ts b/commands/help.ts index 55c2cee..e050b62 100644 --- a/commands/help.ts +++ b/commands/help.ts @@ -30,7 +30,7 @@ module.exports = { .setTitle(`Aide pour la commande ${command.emote ? ` ${command.emote}` : '🔧'} ${command.name}`) .setDescription(command.description) .addFields( - { name: 'Utilisation', value: `\`${prefix}${command.utilisation ? `${command.utilisation}` : ''}\``, inline: true }, + { name: 'Utilisation', value: `\`${prefix}${command.name}${command.utilisation ? ` ${command.utilisation}` : ''}\``, inline: true }, { name: 'Catégorie', value: command.category || 'Non spécifiée', inline: true }, { name: 'Alias', value: command.aliases ? command.aliases.map((alias: string) => `\`${alias}\``).join(', ') : 'Aucun', inline: true }, { name: 'Permissions', value: `Perm level: ${command.permission}` || 'Indéfini', inline: true },