mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-08 07:10:19 +02:00
upgrade 2 commands
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
const { EmbedBuilder, StringSelectMenuBuilder, ActionRowBuilder } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
name: 'setstatus',
|
||||
description: 'Changer le status du bot',
|
||||
emote: '🟢',
|
||||
utilisation: '',
|
||||
permission: '8',
|
||||
utilisation: 'setstatus',
|
||||
category: 'botcontrol',
|
||||
async execute(message, args, client) {
|
||||
let currentStatus = client.user.presence.status;
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Changement de status')
|
||||
.setDescription(`Le bot est en mode :\`${currentStatus}\``)
|
||||
.setTimestamp()
|
||||
.setFooter({text: `${client.user.tag} © 2024`, iconURL: client.user.displayAvatarURL()});
|
||||
|
||||
if (currentStatus === 'dnd') {
|
||||
embed.setColor('#FF0000');
|
||||
} else if (currentStatus === 'idle') {
|
||||
embed.setColor('#FFA500');
|
||||
} else if (currentStatus === 'online') {
|
||||
embed.setColor('#00FF00');
|
||||
} else if (currentStatus === 'offline') {
|
||||
embed.setColor('#000000');
|
||||
} else {
|
||||
embed.setColor('#000000');
|
||||
}
|
||||
|
||||
const selectMenu = new StringSelectMenuBuilder()
|
||||
.setCustomId('status')
|
||||
.setPlaceholder('Changer le status')
|
||||
.addOptions([
|
||||
{
|
||||
label: 'En ligne',
|
||||
value: 'online',
|
||||
description: 'Le bot sera en ligne',
|
||||
emoji: '🟢'
|
||||
},
|
||||
{
|
||||
label: 'Absent',
|
||||
value: 'idle',
|
||||
description: 'Le bot sera absent',
|
||||
emoji: '🟠'
|
||||
},
|
||||
{
|
||||
label: 'Ne pas déranger',
|
||||
value: 'dnd',
|
||||
description: 'Le bot ne sera pas déranger',
|
||||
emoji: '🔴'
|
||||
},
|
||||
{
|
||||
label: 'Invisible',
|
||||
value: 'offline',
|
||||
description: 'Le bot sera invisible',
|
||||
emoji: '⚫'
|
||||
}
|
||||
]);
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(selectMenu)
|
||||
|
||||
const sendMessage = await message.reply({ embeds: [embed], components: [row] });
|
||||
|
||||
const filter = (interaction) => interaction.user.id === message.author.id;
|
||||
const collector = sendMessage.createMessageComponentCollector({ filter, time: 60000 });
|
||||
collector.on('collect', async (interaction) => {
|
||||
if (interaction.isStringSelectMenu()) {
|
||||
if (!client.user) return
|
||||
const value = interaction.values[0];
|
||||
if (value === 'online') {
|
||||
client.user.setStatus('online');
|
||||
embed.setDescription('Le bot est maintenant en ligne');
|
||||
embed.setColor('#00FF00');
|
||||
await interaction.update({ embeds: [embed], components: [row] });
|
||||
} else if (value === 'idle') {
|
||||
client.user.setStatus('idle');
|
||||
embed.setDescription('Le bot est maintenant absent');
|
||||
embed.setColor('#FFA500');
|
||||
await interaction.update({ embeds: [embed], components: [row] });
|
||||
} else if (value === 'dnd') {
|
||||
client.user.setStatus('dnd');
|
||||
embed.setDescription('Le bot est maintenant en mode ne pas déranger');
|
||||
embed.setColor('#FF0000');
|
||||
await interaction.update({ embeds: [embed], components: [row] });
|
||||
} else if (value === 'offline') {
|
||||
client.user.setStatus('invisible');
|
||||
embed.setDescription('Le bot est maintenant invisible');
|
||||
embed.setColor('#000000');
|
||||
await interaction.update({ embeds: [embed], components: [row] });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
collector.on('end', async () => {
|
||||
sendMessage.edit({ components: [] });
|
||||
});
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user