Easier to read submission access.

This commit is contained in:
alwayscompiling
2022-08-06 16:41:50 -04:00
parent f06e6f1e1e
commit e55b22c821
2 changed files with 27 additions and 42 deletions
+9 -14
View File
@@ -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,
)
+18 -28
View File
@@ -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):