diff --git a/cogs/message_listener/__init__.py b/cogs/message_listener/__init__.py index 04f568b..2bd8ae9 100644 --- a/cogs/message_listener/__init__.py +++ b/cogs/message_listener/__init__.py @@ -36,7 +36,8 @@ class SubmissionListener(commands.Cog, name="Message Listener"): await message.channel.send("Happy Birthday Chris <@642330132958281750>") if submission_objects.has_user(message.author.id): - message_id = submission_objects.get_user_submission(message.author.id).message_id + submission = submission_objects.get_user_submission(message.author.id) + message_id = submission.message_id submission_channel_id = highscores_data.get_guild(guild_id).submission_channel submission_message: nextcord.Message = ( await self.bot.get_guild(guild_id) @@ -46,16 +47,14 @@ class SubmissionListener(commands.Cog, name="Message Listener"): # need check if correct user and correct channel if message.channel.id == submission_channel_id: - state = submission_objects.get_user_submission(message.author.id).submisson_state + state = submission.submisson_state if state == SubmissionState.SCORE and message.content: # check with regex if score matches correctly is_time_record = ( highscores_data.get_guild(guild_id) - .get_table(submission_objects.get_user_submission(message.author.id).table) - .get_category( - submission_objects.get_user_submission(message.author.id).category - ) + .get_table(submission.table) + .get_category(submission.category) .time_record ) @@ -88,10 +87,8 @@ class SubmissionListener(commands.Cog, name="Message Listener"): elif re.search("^[0]?[0-9]:[0-9]{2}(\\.[0-9])?$", score): # if there is a minute 10ths place 0, remove score = score.lstrip("0") - submission_objects.get_user_submission(message.author.id).score = score - embed = submission_objects.get_user_submission( - message.author.id - ).get_embed() + submission.score = score + embed = submission.get_embed() await submission_message.edit( embed=embed, ) @@ -100,12 +97,10 @@ class SubmissionListener(commands.Cog, name="Message Listener"): files=[await attch.to_file() for attch in message.attachments], ) elif state == SubmissionState.NAME and message.content: - submission_objects.get_user_submission( - message.author.id - ).username = message.content[ + submission.username = message.content[ : highscores_data.get_guild(guild_id).username_length ] - embed = submission_objects.get_user_submission(message.author.id).get_embed() + embed = submission.get_embed() await submission_message.edit( embed=embed, ) diff --git a/cogs/submission/submission_views.py b/cogs/submission/submission_views.py index a800f57..950f914 100644 --- a/cogs/submission/submission_views.py +++ b/cogs/submission/submission_views.py @@ -41,8 +41,9 @@ class SubmissionDropdown(nextcord.ui.Select): self._bot = bot async def callback(self, interaction: nextcord.Interaction): - submission_objects.get_user_submission(interaction.user.id).category = self.values[0] - embed = submission_objects.get_user_submission(interaction.user.id).get_embed() + submission = submission_objects.get_user_submission(interaction.user.id) + submission.category = self.values[0] + embed = submission.get_embed() await interaction.message.edit( embed=embed, ) @@ -56,12 +57,11 @@ class BackButton(nextcord.ui.Button): self._bot = bot async def callback(self, interaction: nextcord.Interaction): - state: SubmissionState = submission_objects.get_user_submission( - interaction.user.id - ).submisson_state + submission = submission_objects.get_user_submission(interaction.user.id) + state: SubmissionState = submission.submisson_state state = SubmissionState(state.value - 1) - submission_objects.get_user_submission(interaction.user.id).submisson_state = state - embed = submission_objects.get_user_submission(interaction.user.id).get_embed() + submission.submisson_state = state + embed = submission.get_embed() await interaction.edit(embed=embed, view=SubmissionView(self._bot, interaction.user.id)) @@ -85,25 +85,18 @@ class NextButton(nextcord.ui.Button): async def callback(self, interaction: nextcord.Interaction): # check if fields have been filled out for each state - state: SubmissionState = submission_objects.get_user_submission( - interaction.user.id - ).submission_state - if ( - state == SubmissionState.CATEGORY - and not submission_objects.get_user_submission(interaction.user.id).category - ): + submission = submission_objects.get_user_submission(interaction.user.id) + state: SubmissionState = submission.submission_state + if state == SubmissionState.CATEGORY and not submission.category: await interaction.send("Please choose a category.", ephemeral=True) - elif ( - state == SubmissionState.SCORE - and not submission_objects.get_user_submission(interaction.user.id).score - ): + elif state == SubmissionState.SCORE and not submission.score: await interaction.send("Please send a score.", ephemeral=True) elif state == SubmissionState.PROOF and not len(interaction.message.attachments) > 0: await interaction.send("Please attach picture for proof.", ephemeral=True) else: state = SubmissionState(state.value + 1) - submission_objects.get_user_submission(interaction.user.id).submission_state = state - embed = submission_objects.get_user_submission(interaction.user.id).get_embed() + submission.submission_state = state + embed = submission.get_embed() await interaction.edit(embed=embed, view=SubmissionView(self._bot, interaction.user.id)) @@ -119,16 +112,15 @@ class SubmitButton(nextcord.ui.Button): interaction.guild_id ).verification_channel channel = interaction.guild.get_channel(verification_channel_id) + submission = submission_objects.get_user_submission(interaction.user.id) error_response = "Registered Verification channel does not exist or was never registered. \ Contact server admins." assert channel is not None, await channel.send(error_response) - submission_objects.get_user_submission( - interaction.user.id - ).submisson_state = SubmissionState.VERIFY + submission.submisson_state = SubmissionState.VERIFY - embed = submission_objects.get_user_submission(interaction.user.id).get_embed() + embed = submission.get_embed() await channel.send( files=[await attch.to_file() for attch in interaction.message.attachments], @@ -176,7 +168,7 @@ class SubmissionCreateButton(nextcord.ui.View): submission_objects.add_submission(interaction.user.id, submission) - embed = submission_objects.get_user_submission(interaction.user.id).get_embed() + embed = submission.get_embed() submission_message = await channel.send( f"<@{interaction.user.id}>", @@ -188,9 +180,7 @@ class SubmissionCreateButton(nextcord.ui.View): ) # update the message_id once its created - submission_objects.get_user_submission( - interaction.user.id - ).message_id = submission_message.id + submission.message_id = submission_message.id class SubmissionView(nextcord.ui.View):