mirror of
https://github.com/Specoolazius/mcserver-discordbot.git
synced 2024-11-28 23:39:45 +01:00
38 lines
968 B
Python
38 lines
968 B
Python
|
import asyncio
|
||
|
import os.path
|
||
|
|
||
|
import discord
|
||
|
from discord.commands import slash_command
|
||
|
|
||
|
from libs import ServerBot
|
||
|
|
||
|
|
||
|
class Executer(discord.Cog):
|
||
|
|
||
|
def __init__(self, bot: ServerBot):
|
||
|
self.bot = bot
|
||
|
|
||
|
@slash_command(name='start')
|
||
|
async def __start_server(self, ctx: discord.ApplicationContext) -> None:
|
||
|
await ctx.defer()
|
||
|
|
||
|
await asyncio.create_subprocess_exec(
|
||
|
os.path.join('scripts', 'start-server.sh'),
|
||
|
stdout=asyncio.subprocess.PIPE,
|
||
|
stderr=asyncio.subprocess.PIPE,
|
||
|
)
|
||
|
|
||
|
await ctx.respond('starting server')
|
||
|
|
||
|
@slash_command(name='stop')
|
||
|
async def __stop_server(self, ctx: discord.ApplicationContext) -> None:
|
||
|
if ctx.user.id not in self.bot.admin_ids:
|
||
|
await ctx.respond('You don\'t have permissions to do that', ephemeral=True)
|
||
|
return
|
||
|
|
||
|
await ctx.respond('Stopping server')
|
||
|
|
||
|
|
||
|
def setup(bot: ServerBot):
|
||
|
bot.add_cog(Executer(bot))
|