trop de truc pour tout ecrire

This commit is contained in:
VALOU3336
2024-02-29 18:57:43 +01:00
parent b1768e24bd
commit af836f4c1e
43 changed files with 2902 additions and 119 deletions
+43
View File
@@ -0,0 +1,43 @@
const { EmbedBuilder, User } = require("discord.js")
const { getPermissionLevel } = require('../fonction');
module.exports = {
name: 'derank',
aliases: ['unrank'],
description: 'Remove a role from a member',
emote: '🚫',
utilisation: 'derank <@member> <role>',
category: 'moderation',
async execute(message, args, client) {
const member = message.mentions.members.first();
const reason = args.slice(1).join(' ') || 'Aucune raison spécifiée';
if (!member) {
return message.reply('Veuillez mentionner un membre à kick');
}
if (member.id === message.author.id) {
return message.reply('Vous ne pouvez pas vous kick vous même');
}
if (member.id === client.user.id) {
return message.reply('Vous ne pouvez pas me kick');
}
if (await getPermissionLevel(member, client) === 11) {
return message.reply('Vous ne pouvez pas kick un membre buyer');
}
if (await getPermissionLevel(member, client) === 10) {
return message.reply('Vous ne pouvez pas kick un membre owner');
}
if (await getPermissionLevel(message.member, client) !== 11 || await getPermissionLevel(message.member, client) !== 10) {
if (await getPermissionLevel(member, client) >= await getPermissionLevel(message.member, client)) {
return message.reply('Vous ne pouvez pas kick un membre avec une permission égale ou supérieure à la votre');
}
}
try {
await member.roles.set([]);
message.channel.send(`Tous les rôles ont été supprimés de ${member}.`);
} catch (error) {
message.reply('Une erreur s\'est produite lors de la suppression des rôles du membre.');
}
},
};
+30
View File
@@ -0,0 +1,30 @@
module.exports = {
name: 'derankall',
aliases: ['removeallroles'],
description: 'Retire un rôle à tous les membres qui le détiennent',
emote: '🚫',
utilisation: 'derankall <@role>',
category: 'moderation',
async execute(message, args, client) {
const role = message.mentions.roles.first() || message.guild.roles.cache.get(args[0]);;
if (!role) {
return message.reply('Veuillez mentionner un rôle à retirer');
}
const membersWithRole = message.guild.members.cache.filter(member => member.roles.cache.has(role.id));
if (membersWithRole.size === 0) {
return message.reply('Aucun membre avec ce rôle n\'a été trouvé');
}
membersWithRole.forEach(async (member) => {
try {
await member.roles.remove(role);
} catch (error) {
console.error(`Erreur lors du retrait du rôle ${role.name} à ${member.user.tag}:`, error);
}
});
message.channel.send(`Le rôle ${role.name} a été retiré à tous les membres qui le détiennent.`);
},
};
+23
View File
@@ -0,0 +1,23 @@
const Discord = require('discord.js');
module.exports = {
name: "lrm",
aliases: ["rolemembers","rlm"],
description: "Permet de voir les membres d'un rôle",
category: 'gestion',
emote: '👥',
utilisation: 'lrm [nom du rôle]',
async execute(message, args, client) {
let role = message.mentions.roles.first() || message.guild.roles.cache.get(args[1]) || message.guild.roles.cache.find(r => r.name === args[0]) || message.guild.roles.cache.find(r => r.id === args[0]) || message.guild.roles.cache.find(r => r.name.toLowerCase() === args[0].toLowerCase()) || message.guild.roles.cache.find(r => r.id.toLowerCase() === args[0].toLowerCase())
if (!role) return;
let members = role.members.map(m=>m.user).join("\n");
let count = role.members.size;
let embed = new Discord.EmbedBuilder()
.setTitle(`Liste des membres du ${role.name} `)
.setDescription(`${members}`)
.setFooter({ text: `Total: ${count}` });
message.channel.send({embeds : [embed]});
}
}
+21
View File
@@ -0,0 +1,21 @@
const Discord = require('discord.js');
module.exports = {
name: "voicekick",
aliases: ["vckick"],
description: "Permet de kick un utilisateur d'un vocal",
category: 'moderation',
emote: '🔊',
utilisation: 'voicekick @user/id]',
async execute(message, args, client) {
let user = message.guild.members.cache.get(args[0]) || message.mentions.members.first();
if (!user) return;
if(!user.voice.channel) return message.reply(`${user.user.username} n'est pas dans un salon vocal`)
await user.voice.setChannel(null).then(async () => {
await message.reply(`${user.user.username} a été kick du salon vocal`)
}).catch(async () => {
await message.reply(`${user.user.username} n'a pas pu être kick du salon vocal`)
})
}
}
+27
View File
@@ -0,0 +1,27 @@
const Discord = require('discord.js');
module.exports = {
name: "voicekickall",
aliases: ["vckickall"],
description: "Permet de kick tout les membres d'un channel vocal",
category: 'moderation',
emote: '🔊',
utilisation: 'voicekickall [#channel/id] ',
async execute(message, args, client) {
let channelInput = message.mentions.channels.first() || message.guild.channels.cache.get(args[0])
if (!channelInput) return;
if (channelInput.type !== Discord.ChannelType.GuildVoice) return message.reply('veuillez mentioner un salon vocal');
try {
channelInput.members.forEach(member => {
if (member.voice.channel) {
member.voice.setChannel(null)
}
})
await message.reply(`Le salon vocal ${channelInput} a été vidé.`);
} catch (error) {
await message.reply('Une erreur s\'est produite lors du déplacement des membres du salon vocal.');
}
}
}
+27
View File
@@ -0,0 +1,27 @@
const Discord = require('discord.js');
module.exports = {
name: "voicemove",
aliases: ["vcmove"],
description: "Permet de move un utilisateur d'un vocal",
category: 'moderation',
emote: '🔊',
utilisation: 'voicemove @user/id #salon/id',
async execute(message, args, client) {
let user = message.guild.members.cache.get(args[0]) || message.mentions.members.first();
let channel = message.guild.channels.cache.get(args[1]) || message.mentions.channels.first() || message.guild.channels.cache.find(c => c.name === args[1]) || message.guild.channels.cache.find(c => c.name.toLowerCase() === args[1].toLowerCase())
if (!user) return;
if (!channel) return;
if (channel.type !== Discord.ChannelType.GuildVoice) return message.reply("le salon");
let userVoiceChannel = user.voice.channel;
if(!userVoiceChannel) return message.reply(`${user.user.username} n'est pas dans un channel vocal`)
await user.voice.setChannel(channel)
.then(async () => {
await message.reply(`${user.user.username} a été déplacé du channel vocal (${userVoiceChannel}) vers le channel vocal (${channel})`);
})
.catch(error => {
message.reply('Une erreur s\'est produite lors du déplacement de l\'utilisateur.');
});
}
}
+25
View File
@@ -0,0 +1,25 @@
const Discord = require('discord.js');
module.exports = {
name: "voicemoveall",
aliases: ["vcmoveall"],
description: "Permet de faire venir tous les membres en vocal du serveur dans un channel",
category: 'moderation',
emote: '🔊',
utilisation: 'voicemoveall [#channel/id]',
async execute(message, args, client) {
let channelInput = message.mentions.channels.first() || message.guild.channels.cache.get(args[0]) || message.member.voice.channel;
if (!channelInput) return message.channel.send(`Vous devez être dans un salon vocal pour utiliser cette commande ou sinon en mentionner un.`)
if (channelInput.type !== Discord.ChannelType.GuildVoice) return;
const channels = message.guild.channels.cache.filter(ch => ch.id !== channelInput.id && ch.type !== Discord.ChannelType.GuildVoice && ch.members.size > 0)
for await(const [_, channel] of channels)
for await(const [_, member] of channel.members) {
await member.voice.setChannel(channelInput, `voicemoveall by ${message.author.tag}`).catch(() => {
})
}
message.channel.send(`Tout les membres ont été déplacé vers ${channelInput}`)
}
}