A Discord Bot connected to your Pterodactyl API.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: backups list

authored by

cosmeak and committed by
Cosmeak
4316d1b8 70ca39fa

+38 -3
+38 -2
src/commands/Backups.js
··· 1 - import { SlashCommandBuilder } from "discord.js"; 1 + import { EmbedBuilder, SlashCommandBuilder } from "discord.js"; 2 + import axios from "axios"; 3 + import fetchClientServerInfo from "../functions/fetchClientServerInfo.js"; 2 4 3 5 export default { 4 6 data: new SlashCommandBuilder() 5 7 .setName("backups") 6 - .setDescription("Show all your backups"), 8 + .setDescription("Show all your backups") 9 + .addStringOption((option) => 10 + option.setName("identifier") 11 + .setDescription("Your server identifier") 12 + .setRequired(true), 13 + ), 7 14 async execute(interaction) { 15 + const id = interaction.options.get("identifier").value; 16 + let response; 17 + let server; 18 + try { 19 + response = await axios.get(`/servers/${id}/backups`); 20 + server = await fetchClientServerInfo(id); 21 + } 22 + catch (error) { 23 + console.log(error.response); 24 + return interaction.reply({ content: error.response.data.errors[0].detail, ephemeral: true }); 25 + } 8 26 27 + console.log(server); 28 + 29 + const backups = response.data.data; 30 + let message = "```Total backups: " + backups.length + "```\n"; 31 + if (backups.length) { 32 + message += "```"; 33 + backups.forEach((backup) => { 34 + message += "💾 " + backup.name + " - " + backup.created_at + "\n"; 35 + }); 36 + message += "```"; 37 + } 38 + 39 + const embed = new EmbedBuilder() 40 + .setTitle(`${server.name} • ${server.identifier}`) 41 + .setDescription(message) 42 + .setTimestamp(); 43 + 44 + return interaction.reply({ embeds: [embed] }); 9 45 }, 10 46 };
-1
src/functions/fetchClientServerInfo.js
··· 2 2 3 3 export default async (id) => { 4 4 let response = await axios.get(`/servers/${id}`); 5 - console.log(response); 6 5 const server = response.data.attributes; 7 6 response = await axios.get(`/servers/${id}/resources`); 8 7 server.stats = response.data.attributes;