start and reboot

This commit is contained in:
Louis Mazin 2025-07-05 14:15:54 +02:00
parent d6047cf34e
commit 56ebd7428e
3 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,36 @@
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/b5fa2322/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;
}
// Déclencher le schedule programmé
await axios.post('https://panel.louismazin.ovh/api/client/servers/b5fa2322/schedules/1/execute', {}, {
headers: headers
});
await interaction.editReply('🔄 Schedule de redémarrage déclenché ! Le serveur va redémarrer selon votre programmation...');
} catch (error) {
console.error('Erreur lors du déclenchement du schedule:', error);
await interaction.editReply('❌ Erreur lors du déclenchement du schedule. Veuillez réessayer plus tard.');
}
},
};

View File

@ -0,0 +1,38 @@
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.rygain.fr/api/client/servers/b5fa2322/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.rygain.fr/api/client/servers/b5fa2322/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...');
} 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.');
}
},
};

View File

@ -70,6 +70,8 @@ client.on(Events.InteractionCreate, async interaction => {
await command.execute(interaction, palworldToken);
} else if (interaction.commandName === 'trad') {
await command.execute(interaction, translator);
} else if (interaction.commandName === 'start-server' || interaction.commandName === 'reboot-server') {
await command.execute(interaction, headers);
} else {
await command.execute(interaction);
}