55 lines
1.8 KiB
JavaScript
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
|
|
});
|
|
}
|
|
},
|
|
};
|