mirror of
https://github.com/arthur-pbty/gestion-perso.git
synced 2026-06-03 23:36:35 +02:00
53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
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}`);
|
|
})
|
|
},
|
|
}; |