From fd68dd17180c92ca7fa9cf1939c58c5eece1d63e Mon Sep 17 00:00:00 2001 From: phixxy Date: Wed, 24 Jan 2024 23:43:43 -0800 Subject: [PATCH] turned it into a cog made admin id a single list of ids now --- extensions/admin.py | 96 ++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/extensions/admin.py b/extensions/admin.py index c442321..bb3a7a1 100644 --- a/extensions/admin.py +++ b/extensions/admin.py @@ -2,60 +2,56 @@ import os import sys import subprocess - -import asyncssh from discord.ext import commands -async def upload_sftp(local_filename, server_folder, server_filename): - remotepath = server_folder + server_filename - async with asyncssh.connect(os.getenv('ftp_server'), username=os.getenv('ftp_username'), password=os.getenv('ftp_password')) as conn: - async with conn.start_sftp_client() as sftp: - await sftp.put(local_filename, remotepath=remotepath) +class Admin(commands.Cog): -@commands.command( - description="Kill", - help="Kills the bot in event of an emergency. Only special users can do this! Usage: !kill", - brief="Kill the bot", - hidden=True - ) -async def kill(ctx): - "Kills the bot" - if ctx.author.id == 242018983241318410: - exit() - else: - await ctx.channel.send("You don't have permission to do that.") - -@commands.command( - description="Reset", - help="Resets the bot in event of an emergency. Only special users can do this! Usage: !reset", - brief="Reset the bot", - hidden=True - ) -async def reset(ctx): - if ctx.author.id == 242018983241318410: - python = sys.executable - os.execl(python, python, *sys.argv) - else: - await ctx.channel.send("You don't have permission to do that.") + def __init__(self, bot): + self.bot = bot + self.admin_ids = [242018983241318410] -@commands.command( - description="Update", - help="This will update sparkytron to the most recent version on github. Only privileged users can run this command! Usage: !update", - brief="Runs git pull", - hidden=True - ) -async def update(ctx): - if ctx.author.id == 242018983241318410: - output = subprocess.run(["git","pull"],capture_output=True) - if output.stderr: - await ctx.send("Update Attempted") - await ctx.send(output.stderr.decode('utf-8')) + @commands.command( + description="Kill", + help="Kills the bot in event of an emergency. Only special users can do this! Usage: !kill", + brief="Kill the bot", + hidden=True + ) + async def kill(self, ctx): + "Kills the bot" + if ctx.author.id in self.admin_ids: + exit() else: - await ctx.send(output.stdout.decode('utf-8')) - else: - await ctx.send("You don't have permission to do this.") + await ctx.channel.send("You don't have permission to do that.") + + @commands.command( + description="Reset", + help="Resets the bot in event of an emergency. Only special users can do this! Usage: !reset", + brief="Reset the bot", + hidden=True + ) + async def reset(self, ctx): + if ctx.author.id in self.admin_ids: + python = sys.executable + os.execl(python, python, *sys.argv) + else: + await ctx.channel.send("You don't have permission to do that.") + + @commands.command( + description="Update", + help="This will update sparkytron to the most recent version on github. Only privileged users can run this command! Usage: !update", + brief="Runs git pull", + hidden=True + ) + async def update(self, ctx): + if ctx.author.id in self.admin_ids: + output = subprocess.run(["git","pull"],capture_output=True) + if output.stderr: + await ctx.send("Update Attempted") + await ctx.send(output.stderr.decode('utf-8')) + else: + await ctx.send(output.stdout.decode('utf-8')) + else: + await ctx.send("You don't have permission to do this.") async def setup(bot): - bot.add_command(update) - bot.add_command(reset) - bot.add_command(kill) \ No newline at end of file + await bot.add_cog(Admin(bot)) \ No newline at end of file