const { SlashCommandBuilder } = require('discord.js'); const axios = require('axios'); module.exports = { data: new SlashCommandBuilder() .setName('start-server') .setDescription('Démarre le serveur Palworld s\'il n\'est pas déjà en cours d\'exécution'), 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 Palworld est déjà en cours d\'exécution !'); return; } // Démarrer le serveur await axios.post('https://panel.louismazin.ovh/api/client/servers/ae4a628f/power', { signal: 'start' }, { headers: headers }); await interaction.editReply('🚀 Commande de démarrage envoyée au serveur Palworld ! Le serveur va démarrer dans quelques instants...'); // Vérifier l'état du serveur toutes les 5 secondes jusqu'à ce qu'il soit en cours d'exécution var run = false; while (!run) { await new Promise(resolve => setTimeout(resolve, 5000)); try { const checkResponse = await axios.get('https://panel.louismazin.ovh/api/client/servers/ae4a628f/resources', { headers: headers }); const newState = checkResponse.data.attributes.current_state; if (newState === 'running') { run = true; await interaction.editReply('✅ Le serveur Palworld a été démarré avec succès !'); } } catch (error) { console.error('Erreur lors de la vérification de l\'état du serveur:', error); } } } catch (error) { console.error('Erreur lors du démarrage du serveur:', error); await interaction.editReply('❌ Erreur lors du démarrage du serveur. Veuillez réessayer plus tard.'); } }, };