Users cannot move to next step without completing current step.
This commit is contained in:
@@ -31,31 +31,19 @@ class SubmissionListener(commands.Cog, name="Message Listener"):
|
|||||||
|
|
||||||
# need check if correct user and correct channel
|
# need check if correct user and correct channel
|
||||||
if message.channel.id == highscores_data["submission_channel_id"]:
|
if message.channel.id == highscores_data["submission_channel_id"]:
|
||||||
|
state = submission_objects[message.author.id]["submission_state"]
|
||||||
if (
|
if state == SubmissionState.SCORE and message.content:
|
||||||
submission_objects[message.author.id]["submission_state"]
|
|
||||||
== SubmissionState.SCORE
|
|
||||||
and message.content
|
|
||||||
):
|
|
||||||
# TODO add score format verification
|
# TODO add score format verification
|
||||||
submission_objects[message.author.id]["score"] = message.content
|
submission_objects[message.author.id]["score"] = message.content
|
||||||
embed = get_submission_embed(message.author.id)
|
embed = get_submission_embed(message.author.id)
|
||||||
await submission_message.edit(
|
await submission_message.edit(
|
||||||
embed=embed,
|
embed=embed,
|
||||||
)
|
)
|
||||||
elif (
|
elif state == SubmissionState.PROOF and len(message.attachments) > 0:
|
||||||
submission_objects[message.author.id]["submission_state"]
|
|
||||||
== SubmissionState.PROOF
|
|
||||||
and len(message.attachments) > 0
|
|
||||||
):
|
|
||||||
await submission_message.edit(
|
await submission_message.edit(
|
||||||
files=[await attch.to_file() for attch in message.attachments],
|
files=[await attch.to_file() for attch in message.attachments],
|
||||||
)
|
)
|
||||||
elif (
|
elif state == SubmissionState.NAME and message.content:
|
||||||
submission_objects[message.author.id]["submission_state"]
|
|
||||||
== SubmissionState.NAME
|
|
||||||
and message.content
|
|
||||||
):
|
|
||||||
submission_objects[message.author.id]["username"] = message.content[:12]
|
submission_objects[message.author.id]["username"] = message.content[:12]
|
||||||
embed = get_submission_embed(message.author.id)
|
embed = get_submission_embed(message.author.id)
|
||||||
await submission_message.edit(
|
await submission_message.edit(
|
||||||
|
|||||||
@@ -121,11 +121,24 @@ class NextButton(nextcord.ui.Button):
|
|||||||
|
|
||||||
# TODO verify proper information has been gathered
|
# TODO verify proper information has been gathered
|
||||||
async def callback(self, interaction: nextcord.Interaction):
|
async def callback(self, interaction: nextcord.Interaction):
|
||||||
|
# check if fields have been filled out for each state
|
||||||
state: SubmissionState = submission_objects[interaction.user.id]["submission_state"]
|
state: SubmissionState = submission_objects[interaction.user.id]["submission_state"]
|
||||||
state = SubmissionState(state.value + 1)
|
if (
|
||||||
submission_objects[interaction.user.id]["submission_state"] = state
|
state == SubmissionState.CATEGORY
|
||||||
embed = get_submission_embed(interaction.user.id)
|
and not submission_objects[interaction.user.id]["category"]
|
||||||
await interaction.edit(embed=embed, view=SubmissionView(self._bot, interaction.user.id))
|
):
|
||||||
|
await interaction.send("Please choose a category.", ephemeral=True)
|
||||||
|
elif (
|
||||||
|
state == SubmissionState.SCORE and not submission_objects[interaction.user.id]["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[interaction.user.id]["submission_state"] = state
|
||||||
|
embed = get_submission_embed(interaction.user.id)
|
||||||
|
await interaction.edit(embed=embed, view=SubmissionView(self._bot, interaction.user.id))
|
||||||
|
|
||||||
|
|
||||||
class SubmitButton(nextcord.ui.Button):
|
class SubmitButton(nextcord.ui.Button):
|
||||||
|
|||||||
Reference in New Issue
Block a user