Files
gestion/commands/botcontrol/invite.js
T
2024-02-29 18:57:43 +01:00

48 lines
1.6 KiB
JavaScript

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}`);
})
},
};