mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-16 15:56:31 +02:00
correctif /ameliero + add film commande
This commit is contained in:
@@ -4,28 +4,30 @@ module.exports = {
|
|||||||
emote: '🔄',
|
emote: '🔄',
|
||||||
utilisation: 'reload <commande/all>',
|
utilisation: 'reload <commande/all>',
|
||||||
category: 'botcontrol',
|
category: 'botcontrol',
|
||||||
execute(message, args) {
|
async execute(message, args) {
|
||||||
const commandName = args[0].toLowerCase();
|
const commandName = args[0].toLowerCase();
|
||||||
const command = message.client.commands.get(commandName);
|
const command = message.client.commands.get(commandName);
|
||||||
if (args[0].toLowerCase() === 'all') {
|
if (args[0].toLowerCase() === 'all') {
|
||||||
message.reply('Toutes les commandes vont être rechargées.')
|
message.reply('Toutes les commandes vont être rechargées.')
|
||||||
.then(sendmessage => {
|
.then(async sendmessage => {
|
||||||
const commands = Array.from(message.client.commands.values());
|
const commands = Array.from(message.client.commands.values());
|
||||||
commands.forEach(command => {
|
const reloadPromises = commands.map(async (command) => {
|
||||||
const commandFile = command.file;
|
const commandFile = command.file;
|
||||||
delete require.cache[require.resolve(commandFile)];
|
delete require.cache[require.resolve(commandFile)];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const newCommand = require(commandFile);
|
const newCommand = require(commandFile);
|
||||||
newCommand.file = commandFile;
|
newCommand.file = commandFile;
|
||||||
message.client.commands.set(newCommand.name, newCommand);
|
message.client.commands.set(newCommand.name, newCommand);
|
||||||
sendmessage.edit(`La commande ${newCommand.name} a été rechargée.`);
|
await sendmessage.edit(`La commande ${newCommand.name} a été rechargée.`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`Erreur lors du rechargement de la commande ${command.name}:`, error);
|
console.error(`Erreur lors du rechargement de la commande ${command.name}:`, error);
|
||||||
message.reply(`Une erreur est survenue lors du rechargement de la commande ${command.name}: ${error.message}`);
|
await message.reply(`Une erreur est survenue lors du rechargement de la commande ${command.name}: ${error.message}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
sendmessage.edit('Toutes les commandes ont été rechargées.');
|
|
||||||
|
await Promise.all(reloadPromises);
|
||||||
|
await sendmessage.edit('Toutes les commandes ont été rechargées.');
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error('Erreur lors de l\'envoi du message de rechargement:', error);
|
console.error('Erreur lors de l\'envoi du message de rechargement:', error);
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ module.exports = {
|
|||||||
const messageCollector = message.channel.createMessageCollector({ filter, time: 60000 });
|
const messageCollector = message.channel.createMessageCollector({ filter, time: 60000 });
|
||||||
messageCollector.on('collect', async (messageCollect) => {
|
messageCollector.on('collect', async (messageCollect) => {
|
||||||
const text = messageCollect.content;
|
const text = messageCollect.content;
|
||||||
const url = 'https://www.twitch.tv/tuturp33';
|
const url = 'https://www.twitch.tv/valou336_ytb';
|
||||||
|
|
||||||
if (!client.user) return;
|
if (!client.user) return;
|
||||||
if (value === 'playing') {
|
if (value === 'playing') {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ module.exports = {
|
|||||||
description: 'Proposez en mariage à un utilisateur',
|
description: 'Proposez en mariage à un utilisateur',
|
||||||
emote: '💍',
|
emote: '💍',
|
||||||
category: 'game',
|
category: 'game',
|
||||||
category: '+marry @user',
|
utilisation: '+marry @user',
|
||||||
async execute(message, args, client) {
|
async execute(message, args, client) {
|
||||||
const targetUser = message.mentions.users.first() || message.guild.members.cache.get(args[0]);
|
const targetUser = message.mentions.users.first() || message.guild.members.cache.get(args[0]);
|
||||||
if (!targetUser) {
|
if (!targetUser) {
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
const { EmbedBuilder } = require('discord.js');
|
const { EmbedBuilder } = require('discord.js');
|
||||||
const Zalgo = require('to-zalgo')
|
const Zalgo = require('to-zalgo')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'zalgo',
|
name: 'zalgo',
|
||||||
aliases: ['zlg'],
|
aliases: ['zlg'],
|
||||||
description: 'Convertissez vos textes en Zalgo',
|
description: 'Convertissez vos textes en Zalgo',
|
||||||
usage: 'zalgo <text>',
|
utilisation: 'zalgo <text>',
|
||||||
|
emote: '🔤',
|
||||||
|
category: 'utils',
|
||||||
async execute(message, args, client) {
|
async execute(message, args, client) {
|
||||||
|
|
||||||
message.channel.send({embeds: [ new EmbedBuilder()
|
message.channel.send({embeds: [ new EmbedBuilder()
|
||||||
|
|||||||
@@ -4,7 +4,9 @@ const db = new sqlite3.Database('myDatabase.db');
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'autoreact',
|
name: 'autoreact',
|
||||||
description: 'Ajoute des réactions automatiques à un salon',
|
description: 'Ajoute des réactions automatiques à un salon',
|
||||||
usage: '+autoreact <channel ou id de salon> <emojie1> <emoite2> ...',
|
emote: '🔄',
|
||||||
|
utilisation: '+autoreact #salon/id <emojie1> <emoite2> ...',
|
||||||
|
category: 'gestion',
|
||||||
async execute(message, args) {
|
async execute(message, args) {
|
||||||
if (args[0] === "remove" || args[0] === "del" ){
|
if (args[0] === "remove" || args[0] === "del" ){
|
||||||
const channel = message.mentions.channels.first() || message.guild.channels.cache.get(args[0]);
|
const channel = message.mentions.channels.first() || message.guild.channels.cache.get(args[0]);
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require('discord.js');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'banlist',
|
||||||
|
description: 'Liste tous les utilisateurs bannis avec leur raison de bannissement',
|
||||||
|
emote: '🚫',
|
||||||
|
utilisation: 'banlist',
|
||||||
|
category: 'moderation',
|
||||||
|
async execute(message) {
|
||||||
|
try {
|
||||||
|
const bans = await message.guild.bans.fetch();
|
||||||
|
const embeds = [];
|
||||||
|
const maxPerPage = 10;
|
||||||
|
let currentPage = 0;
|
||||||
|
|
||||||
|
for (let i = 0; i < bans.size; i += maxPerPage) {
|
||||||
|
const embed = new EmbedBuilder()
|
||||||
|
.setTitle('Liste des utilisateurs bannis')
|
||||||
|
.setColor('#ff0000');
|
||||||
|
|
||||||
|
bans.each((ban, index) => {
|
||||||
|
if (index >= i && index < i + maxPerPage) {
|
||||||
|
const reason = ban.reason || 'Raison non disponible';
|
||||||
|
embed.addFields({ name: ban.user.tag, value: `Raison: ${reason}` });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
embeds.push(embed);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const row = new ActionRowBuilder()
|
||||||
|
.addComponents(
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId('previous')
|
||||||
|
.setLabel('Précédent')
|
||||||
|
.setStyle(ButtonStyle.Primary),
|
||||||
|
new ButtonBuilder()
|
||||||
|
.setCustomId('next')
|
||||||
|
.setLabel('Suivant')
|
||||||
|
.setStyle(ButtonStyle.Primary)
|
||||||
|
);
|
||||||
|
|
||||||
|
await message.channel.send({ embeds: [embeds[currentPage]], components: [row] });
|
||||||
|
|
||||||
|
const filter = i => i.customId === 'previous' || i.customId === 'next' && i.user.id === message.author.id;
|
||||||
|
const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 });
|
||||||
|
|
||||||
|
collector.on('collect', async i => {
|
||||||
|
if (i.customId === 'previous') {
|
||||||
|
currentPage = Math.max(currentPage - 1, 0);
|
||||||
|
} else if (i.customId === 'next') {
|
||||||
|
currentPage = Math.min(currentPage + 1, embeds.length - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
await i.update({ embeds: [embeds[currentPage]], components: [row] });
|
||||||
|
});
|
||||||
|
|
||||||
|
collector.on('end', collected => {
|
||||||
|
message.channel.send('Navigation terminée.');
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Erreur lors de la récupération des utilisateurs bannis:', error);
|
||||||
|
message.reply('Une erreur est survenue lors de la récupération des utilisateurs bannis.');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
const { EmbedBuilder } = require('discord.js');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
name: 'mutelist',
|
||||||
|
description: 'Liste tous les utilisateurs avec la communication désactivée',
|
||||||
|
emote: '🔇',
|
||||||
|
utilisation: 'mutelist',
|
||||||
|
category: 'moderation',
|
||||||
|
async execute(message) {
|
||||||
|
const members = await message.guild.members.fetch();
|
||||||
|
const disabledMembers = members.filter(member => member.isCommunicationDisabled());
|
||||||
|
|
||||||
|
const embed = new EmbedBuilder()
|
||||||
|
.setTitle('Liste des utilisateurs mute')
|
||||||
|
.setColor('#0099ff');
|
||||||
|
|
||||||
|
disabledMembers.forEach(member => {
|
||||||
|
embed.addFields({name:' ',value: member.user.tag});
|
||||||
|
});
|
||||||
|
|
||||||
|
message.channel.send({ embeds: [embed] });
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
const { EmbedBuilder } = require('discord.js');
|
||||||
|
const axios = require('axios');
|
||||||
|
module.exports = {
|
||||||
|
name: 'film',
|
||||||
|
description: 'Affiche les films populaires et les plus récents.',
|
||||||
|
emote: '📽️',
|
||||||
|
utilisation: 'film',
|
||||||
|
category: 'utils',
|
||||||
|
async execute(message, args, client) {
|
||||||
|
const botUser = message.client.user;
|
||||||
|
const randomColor = Math.floor(Math.random() * 16777215).toString(16);
|
||||||
|
|
||||||
|
const apiKey = '15392d7432f6d070f28918e626362a93';
|
||||||
|
const popularUrl = `https://api.themoviedb.org/3/movie/popular?api_key=${apiKey}&language=fr-FR`;
|
||||||
|
const recentUrl = `https://api.themoviedb.org/3/movie/now_playing?api_key=${apiKey}&language=fr-FR`;
|
||||||
|
|
||||||
|
try {
|
||||||
|
const [popularResponse, recentResponse] = await Promise.all([
|
||||||
|
axios.get(popularUrl),
|
||||||
|
axios.get(recentUrl)
|
||||||
|
]);
|
||||||
|
|
||||||
|
const popularFilms = popularResponse.data.results.slice(0, 50);
|
||||||
|
const recentFilms = recentResponse.data.results.slice(0, 50);
|
||||||
|
|
||||||
|
const filmsEmbed = new EmbedBuilder()
|
||||||
|
.setColor(`#${randomColor}`) // Couleur aléatoire de l'embed
|
||||||
|
.setTitle('🎬 Films Populaires & Récents 🎥')
|
||||||
|
.setDescription('Voici les films populaires et les plus récents en ce moment :')
|
||||||
|
.setThumbnail(botUser.displayAvatarURL())
|
||||||
|
.setTimestamp() // Ajoute l'heure actuelle
|
||||||
|
.setFooter({ text: 'Commande Films', iconURL: 'https://media.discordapp.net/attachments/997345844019859467/1200213219336274030/Megabot2.png?ex=65d7d1aa&is=65c55caa&hm=59a836a51fa2734b0a65de117ebea8531ac45184d14cb8456a785737ec045d6d&=&format=webp&quality=lossless&width=671&height=671' }); // Footer de l'embed
|
||||||
|
|
||||||
|
filmsEmbed.addFields({ name: 'Films Populaires', value: popularFilms.map(film => film.title).join('\n') || 'Non disponible' });
|
||||||
|
filmsEmbed.addFields({ name: 'Nouveautés au Cinéma', value: recentFilms.map(film => film.title).join('\n') || 'Non disponible' });
|
||||||
|
|
||||||
|
await message.reply({ embeds: [filmsEmbed] });
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Erreur lors de la récupération des films :', error);
|
||||||
|
await interaction.reply('Impossible de récupérer les informations des films. Veuillez réessayer plus tard.');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user