2025-07-30 13:18:13 +02:00

55 lines
1.8 KiB
JavaScript

const { SlashCommandBuilder, MessageFlags } = require('discord.js');
const soloMessage = require("./soloMessage.json");
const serverMessage = require("./serverMessage.json");
module.exports = {
data: new SlashCommandBuilder()
.setName('transfer-save')
.setDescription('Explique comment transférer une sauvegarde Palworld')
.addStringOption(option =>
option.setName('type')
.setDescription('Type de sauvegarde à transférer')
.setRequired(true)
.addChoices(
{ name: 'Solo', value: 'solo' },
{ name: 'Serveur', value: 'serveur' }
))
.addUserOption(option =>
option.setName('utilisateur')
.setDescription('Utilisateur à mentionner')
.setRequired(false)),
async execute(interaction) {
const type = interaction.options.getString('type');
const mentionnedUser = interaction.options.getUser('utilisateur');
const targetUser = mentionnedUser || interaction.user;
try {
let messageToSend;
if (type === 'solo') {
messageToSend = soloMessage;
} else {
messageToSend = serverMessage;
}
// Envoyer le message en privé au bon utilisateur
await targetUser.send(messageToSend);
// Confirmer l'envoi dans le canal
const recipientText = mentionnedUser ? ` à ${mentionnedUser.username}` : 'en message privé';
await interaction.reply({
content: `✅ Les instructions pour transférer une sauvegarde ${type} ont été envoyées${recipientText} !`,
flags: MessageFlags.Ephemeral
});
} catch (error) {
console.error('Erreur lors de l\'envoi du message privé:', error);
const userText = mentionnedUser ? `de ${mentionnedUser.username}` : 'vos';
await interaction.reply({
content: `❌ Impossible d'envoyer le message privé. Vérifiez que les messages privés ${userText} sont ouverts.`,
flags: MessageFlags.Ephemeral
});
}
},
};