const { PermissionsBitField , ChannelType } = 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) { if (!args[0]) { return message.reply('Veuillez fournir l\'ID du serveur.'); } const guildId = args[0]; let guild; 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.'); } const botMember = guild.members.cache.get(client.user.id); 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 === ChannelType.GuildText) .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}`); }) }, };