add command

This commit is contained in:
Tutur33
2024-02-26 14:20:12 +01:00
parent 83c54dc15e
commit 1954c60e0d
4 changed files with 44 additions and 55 deletions
-53
View File
@@ -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}`);
})
},
};
+41
View File
@@ -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}`);
})
},
};
+2 -1
View File
@@ -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;
+1 -1
View File
@@ -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 },