const { SlashCommandBuilder } = require('discord.js'); const axios = require('axios'); module.exports = { data: new SlashCommandBuilder() .setName('reboot-server') .setDescription('Redémarre le serveur Palworld'), async execute(interaction, headers) { await interaction.deferReply(); try { // Vérifier l'état actuel du serveur const statusResponse = await axios.get('https://panel.louismazin.ovh/api/client/servers/ae4a628f/resources', { headers: headers }); const currentState = statusResponse.data.attributes.current_state; if (currentState !== 'running') { await interaction.editReply('⚠️ Le serveur n\'est pas en cours d\'exécution. Utilisez `/start-server` pour le démarrer.'); return; } // Étape 1: Sauvegarder le serveur await interaction.editReply('💾 Sauvegarde du serveur en cours...'); await axios.post('https://panel.louismazin.ovh/api/client/servers/ae4a628f/command', { command: 'save' }, { headers: headers }); await axios.post('https://panel.louismazin.ovh/api/client/servers/ae4a628f/command', { command: "broadcast 'Redemarrage journalier du serveur (Ca prends 20 secondes)'" }, { headers: headers }); // Attendre un peu pour la sauvegarde await new Promise(resolve => setTimeout(resolve, 2000)); // Étape 2: Arrêter le serveur await interaction.editReply('⏹️ Arrêt du serveur...'); await axios.post('https://panel.louismazin.ovh/api/client/servers/ae4a628f/command', { command: 'shutdown 1' }, { headers: headers }); // Étape 3: Attendre 10 secondes await interaction.editReply('⏳ Attente de 10 secondes...'); await new Promise(resolve => setTimeout(resolve, 10000)); // Étape 4: Redémarrer le serveur await interaction.editReply('🚀 Redémarrage du serveur...'); await axios.post('https://panel.louismazin.ovh/api/client/servers/ae4a628f/power', { signal: 'start' }, { headers: headers }); await interaction.editReply('✅ Redémarrage du serveur terminé ! Le serveur devrait être disponible dans quelques instants...'); } catch (error) { console.error('Erreur lors du redémarrage du serveur:', error); await interaction.editReply('❌ Erreur lors du redémarrage du serveur. Veuillez réessayer plus tard.'); } }, };