A Discord Bot connected to your Pterodactyl API.
1import { SlashCommandBuilder } from "discord.js";
2import postServerPower from "../functions/postServerPower.js";
3
4export default {
5 data: new SlashCommandBuilder()
6 .setName("power")
7 .setDescription("Provide a way to up or down a server")
8 .addStringOption((option) =>
9 option.setName("identifier")
10 .setDescription("Your server identifier")
11 .setRequired(true),
12 )
13 .addStringOption((option) =>
14 option.setName("state")
15 .setDescription("Choose a state for your server")
16 .setChoices(
17 { name: "start", value: "start" },
18 { name: "stop", value: "stop" },
19 { name: "restart", value: "restart" },
20 { name: "kill", value: "kill" },
21 )
22 .setRequired(true),
23 ),
24 async execute(interaction) {
25 const state = interaction.options.get("state").value;
26 const id = interaction.options.get("identifier").value;
27 try {
28 await postServerPower(id, state);
29 }
30 catch (error) {
31 return interaction.reply({ content: error, ephemeral: true });
32 }
33 return interaction.reply(`**${state}** request as been sent to the server with success!`);
34 },
35};