Files
gestion/commands/botcontrol/invite.js
T
2024-02-14 13:33:33 +01:00

48 lines
1.7 KiB
JavaScript

const { PermissionsBitField } = require('discord.js');
module.exports = {
name: 'invite',
description: 'Crée un lien d\'invitation pour un serveur spécifique',
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}`);
})
},
};