mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-11 11:21:00 +02:00
trop de truc pour tout ecrire
This commit is contained in:
@@ -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.');
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -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.`);
|
||||
},
|
||||
};
|
||||
@@ -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]});
|
||||
}
|
||||
}
|
||||
@@ -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`)
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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.');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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.');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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}`)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user