diff --git a/cogs/post_highscores/__init__.py b/cogs/post_highscores/__init__.py index b9d65c2..229a9e1 100644 --- a/cogs/post_highscores/__init__.py +++ b/cogs/post_highscores/__init__.py @@ -43,6 +43,7 @@ class PostHighscores(commands.Cog, name="Post Highscores"): message: nextcord.Message = await send_highscore_message(channel, boss) await message.edit(view=SubmissionCreateButton(self.bot)) + # Saving in case new message was sent. save_highscores_data(highscores_data) diff --git a/cogs/score/__init__.py b/cogs/score/__init__.py index 85ecd7b..4f41dc3 100644 --- a/cogs/score/__init__.py +++ b/cogs/score/__init__.py @@ -5,7 +5,6 @@ Bot command to submit a score from nextcord.ext import commands from highscores import highscores_data # pylint: disable=import-error -from utilities.utils import submit_score # pylint: disable=import-error from .verification_view import VerificationView diff --git a/cogs/submission/submission_views.py b/cogs/submission/submission_views.py index f12d1c5..0c1adf0 100644 --- a/cogs/submission/submission_views.py +++ b/cogs/submission/submission_views.py @@ -55,7 +55,7 @@ def get_submission_embed(userid: int) -> nextcord.Embed: def category_select_options(boss_name: str) -> "list[nextcord.SelectOption]": """Returns list of categories for a given boss.""" options: "list[nextcord.SelectOption]" = [] - boss_dict = highscores_data[boss_name] + boss_dict = highscores_data["tables"][boss_name] for category in boss_dict["categories"].items(): options.append(nextcord.SelectOption(label=category[0])) diff --git a/utilities/data_storage.py b/utilities/data_storage.py index d98f939..ec9e096 100644 --- a/utilities/data_storage.py +++ b/utilities/data_storage.py @@ -30,12 +30,12 @@ def open_highscores_data(): data = {"highscore_channel_id": -1, "verification_channel_id": -1, "username_length": 12} config: dict = open_highscores_config() for boss, categories in config["highscore_table"].items(): - data[boss] = {"message_id": 0} + data["tables"][boss] = {"message_id": 0} boss_categories = {} for category in categories: # pylint: disable=unused-variable rank_list = [] boss_categories[category] = rank_list - data[boss]["categories"] = boss_categories + data["tables"][boss]["categories"] = boss_categories return data diff --git a/utilities/utils.py b/utilities/utils.py index 0c8428a..2384174 100644 --- a/utilities/utils.py +++ b/utilities/utils.py @@ -16,7 +16,7 @@ def format_highscore_message(boss_name: str): @return the formatted string """ ret_string = f"**{boss_name}**\n```" - boss_data = highscores_data[boss_name] + boss_data = highscores_data["tables"][boss_name] # Gather all categories and add to string for key, value in boss_data["categories"].items(): @@ -58,7 +58,7 @@ async def send_highscore_message(channel, boss_name: str) -> nextcord.Message: """ highscore_string = format_highscore_message(boss_name) - message_id = highscores_data[boss_name]["message_id"] + message_id = highscores_data["tables"][boss_name]["message_id"] try: message: nextcord.Message = await channel.fetch_message(message_id) await message.edit(content=highscore_string) @@ -66,7 +66,7 @@ async def send_highscore_message(channel, boss_name: str) -> nextcord.Message: # message doesn't exist. message: nextcord.Message = await channel.send(highscore_string) message_id = message.id - highscores_data[boss_name]["message_id"] = message_id + highscores_data["tables"][boss_name]["message_id"] = message_id # save message -> boss_name in message_map highscores_message_map[str(message_id)] = boss_name @@ -102,7 +102,7 @@ async def submit_score( score_tuple = (user, int(score)) sort_index = 1 - scores: "list[tuple]" = highscores_data[boss_name]["categories"][category] + scores: "list[tuple]" = highscores_data["tables"][boss_name]["categories"][category] # if user is in an existing tuple, delete it. users_scores: "list[tuple]" = [score_tuple]