From f61ad83e11308981af607c3017c8dd51c6b9c75f Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 7 Mar 2025 11:39:39 -0500 Subject: [PATCH] Make commands more robust against errors. --- cogs/commands/set.py | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/cogs/commands/set.py b/cogs/commands/set.py index 2750b0c..d3ce18e 100644 --- a/cogs/commands/set.py +++ b/cogs/commands/set.py @@ -58,15 +58,16 @@ class SetCog(commands.Cog, name="Set command."): # session.add(category) test if this is needed. SQLAlchemy can do the update without adding. session.commit() - # Use the relationship to get group category is in. - group = category.category_group - if group is None: - await interaction.response.send_message( - f"An error with {category.name} and group relationship. Contact developer. Size was still updated.", - ephemeral=True, - ) - agon_logger.error(f"{category.name}:{category.id} group relationship was None.") - return + # Use the relationship to get group category is in. + group = category.category_group + if group is None: + agon_logger.error(f"{category.name}:{category.id} group relationship was None.") + + stmt = select(CategoryGroup).where(col(CategoryGroup.id) == group_id) + group = session.scalar(stmt) + if group is None: + await interaction.response.send_message("Group was not found.", ephemeral=True) + return await send_highscore_message(session, interaction.guild, group) await interaction.response.send_message(f"{category.name} size has been updated to {size}.", ephemeral=True) @@ -105,18 +106,16 @@ class SetCog(commands.Cog, name="Set command."): # session.add(category) test if this is needed. SQLAlchemy can do the update without adding. session.commit() - # Use the relationship to get group category is in. - group = category.category_group - if group is None: - await interaction.response.send_message( - ( - f"An error with {category.name} and group relationship. Contact developer. " - "Is_ascending was still updated." - ), - ephemeral=True, - ) - agon_logger.error(f"{category.name}:{category.id} group relationship was None.") - return + # Use the relationship to get group category is in. + group = category.category_group + if group is None: + agon_logger.error(f"{category.name}:{category.id} group relationship was None.") + + stmt = select(CategoryGroup).where(col(CategoryGroup.id) == group_id) + group = session.scalar(stmt) + if group is None: + await interaction.response.send_message("Group was not found.", ephemeral=True) + return await send_highscore_message(session, interaction.guild, group) await interaction.response.send_message(