feat: added stop command
This commit is contained in:
parent
583bfffc61
commit
fd6fca640c
1 changed files with 25 additions and 0 deletions
|
@ -105,6 +105,31 @@ class Pterodactyl(commands.Cog):
|
||||||
message = await interaction_message.edit(content="The server is already starting!")
|
message = await interaction_message.edit(content="The server is already starting!")
|
||||||
await message.delete(delay=3)
|
await message.delete(delay=3)
|
||||||
|
|
||||||
|
@power.command(name='stop', description="Stops the server.")
|
||||||
|
@app_commands.guild_only()
|
||||||
|
async def stop(self, interaction: discord.Interaction):
|
||||||
|
"""Stops the server."""
|
||||||
|
await interaction.defer(ephemeral=True, thinking=True)
|
||||||
|
interaction_message = await interaction.original_response()
|
||||||
|
headers = await self.get_headers(interaction.guild)
|
||||||
|
response = requests.get(await self.get_url(interaction.guild, "resources"), headers=headers)
|
||||||
|
requests_json = response.json()
|
||||||
|
current_status = requests_json['attributes']['current_state']
|
||||||
|
if current_status == "running" or current_status == "starting":
|
||||||
|
passed_info = {
|
||||||
|
"headers": headers,
|
||||||
|
"interaction": interaction,
|
||||||
|
"guild": interaction.guild,
|
||||||
|
"signal": "stop",
|
||||||
|
"target_signal": "offline",
|
||||||
|
"message": "Server stopping...",
|
||||||
|
"completed_message": "Server stopped!"
|
||||||
|
}
|
||||||
|
await interaction_message.edit(content="Are you sure you'd like to stop the server?", view=self.PowerButtons(timeout=180, passed_info=passed_info))
|
||||||
|
elif current_status == "offline":
|
||||||
|
message = await interaction_message.edit(content="The server is already offline!")
|
||||||
|
await message.delete(delay=3)
|
||||||
|
|
||||||
|
|
||||||
@app_commands.command(description="Updates the server.")
|
@app_commands.command(description="Updates the server.")
|
||||||
@app_commands.guild_only()
|
@app_commands.guild_only()
|
||||||
|
|
Reference in a new issue