diff --git a/cogs/delete_scores/__init__.py b/cogs/delete_scores/__init__.py new file mode 100644 index 0000000..24c5eae --- /dev/null +++ b/cogs/delete_scores/__init__.py @@ -0,0 +1,49 @@ +""" +Bot command for deleting the guild's scores. +""" + +from nextcord import Embed +from nextcord.ext import commands + +from highscores import highscores_data # pylint: disable=import-error +from utilities.data_storage import save_highscores_data # pylint: disable=import-error +from utilities.data_storage import create_highscore_skeleton # pylint: disable=import-error + + +class DeleteScores(commands.Cog, name="Delete Scores"): + """ + Warning: This command only works for developers. + Deletes this guild's scores. + """ + + def __init__(self, bot: commands.Bot): + self.bot = bot + + @commands.command(name="delete-scores") + @commands.has_permissions(administrator=True) + async def delete_scores(self, ctx: commands.Context): + """A command which registers current channel as for various uses. + Usage: + ``` + ?delete_scores + ``` + """ + # only allow AlwaysCompiling to use. + # If you are a developer and want to use command, can add name to list + if ctx.author.id == 206602713511886849: + guild_data: dict = highscores_data[str(ctx.guild.id)] + + for boss, boss_data in guild_data["tables"].items(): + for category, category_data in boss_data["categories"].items(): + category_data = [] + boss_data["categories"][category] = category_data + guild_data["tables"][boss] = boss_data + + save_highscores_data(highscores_data) + + +# This function will be called when this extension is loaded. +# It is necessary to add these functions to the bot. +def setup(bot: commands.Bot): + """Adds function to bot""" + bot.add_cog(DeleteScores(bot))