Fill functionality for delete user from_table and from_category.

This commit is contained in:
alwayscompiling
2022-11-24 17:47:21 -05:00
parent 1e336e290d
commit f5342f1541
+26 -2
View File
@@ -126,7 +126,20 @@ class DataManagementCog(commands.Cog, name="Table Management"):
category_name (str): Category to remove user from. Is SlashOption.
user_name (str): The user to remove. Is SlashOption.
"""
# TODO ensure input params are valid
guild = highscores_data.get_guild(interaction.guild_id)
try:
guild.get_table(table_name).get_category(category_name).remove_score(user_name)
await send_highscore_message(
interaction.guild.get_channel(guild.highscore_channel), guild, guild.get_table(table_name)
)
await interaction.response.send_message(
f'User "{user_name}" removed from "{category_name}".', ephemeral=True
)
except nextcord.errors.ApplicationInvokeError:
await interaction.response.send_message("Invalid parameter(s).", ephemeral=True)
@user.subcommand(description="Deletes a user's scores from entire table.")
async def from_table(
@@ -143,7 +156,18 @@ class DataManagementCog(commands.Cog, name="Table Management"):
table_name (str): Table to remove user from. Is SlashOption.
user_name (str): The user to remove. Is SlashOption.
"""
# TODO ensure params are valid
guild = highscores_data.get_guild(interaction.guild_id)
try:
for category in guild.get_table(table_name).categories:
category.remove_score(user_name)
await send_highscore_message(
interaction.guild.get_channel(guild.highscore_channel), guild, guild.get_table(table_name)
)
await interaction.response.send_message(f'User "{user_name}" removed from all categories.', ephemeral=True)
except nextcord.errors.ApplicationInvokeError:
await interaction.response.send_message("Invalid parameter(s).", ephemeral=True)
@from_category.on_autocomplete("table_name")
@from_table.on_autocomplete("table_name")