From 023ee141ebf437919a4c0f43ddee18aaefa4cbbc Mon Sep 17 00:00:00 2001 From: Parker Date: Mon, 20 Jan 2025 23:39:09 -0600 Subject: [PATCH] Deferral fix --- code/cogs/request.py | 14 +++++--------- code/cogs/status.py | 8 +++----- code/utils/content_view.py | 8 +++++--- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/code/cogs/request.py b/code/cogs/request.py index 2ad71ba..eeeb467 100644 --- a/code/cogs/request.py +++ b/code/cogs/request.py @@ -31,6 +31,8 @@ class Request(commands.Cog): name: str, ) -> None: """Request a movie or tv show to be added to the library""" + # Could take a sec. so defer the response + await interaction.response.defer(ephemeral=True) # Get matching content from relevant service if form == "Movie": content_data = get_content( @@ -54,9 +56,7 @@ class Request(commands.Cog): ), color=0xD01B86, ) - return await interaction.response.send_message( - embed=embed, ephemeral=True - ) + return await interaction.followup.send(embed=embed, ephemeral=True) if content_data == "ALREADY ADDED": embed = discord.Embed( @@ -70,9 +70,7 @@ class Request(commands.Cog): ), color=0xD01B86, ) - return await interaction.response.send_message( - embed=embed, ephemeral=True - ) + return await interaction.followup.send(embed=embed, ephemeral=True) embed = discord.Embed( title="Results Found", @@ -103,9 +101,7 @@ class Request(commands.Cog): SONARR_QUALITY_PROFILE_ID, ) - await interaction.response.send_message( - embed=embed, view=view, ephemeral=True - ) + await interaction.followup.send(embed=embed, view=view, ephemeral=True) async def setup(bot): diff --git a/code/cogs/status.py b/code/cogs/status.py index 8d3e604..3a64146 100644 --- a/code/cogs/status.py +++ b/code/cogs/status.py @@ -20,7 +20,7 @@ class Status(commands.Cog): async def status(self, interaction: discord.Interaction) -> None: """Get the status of the movies you have requested""" # Defer the response - await interaction.response.defer() + await interaction.response.defer(ephemeral=True) db = sqlite3.connect("data/cordarr.db") cursor = db.cursor() @@ -42,9 +42,7 @@ class Status(commands.Cog): ), color=0xD01B86, ) - return await interaction.response.send_message( - embed=embed, ephemeral=True - ) + return await interaction.followup.send(embed=embed, ephemeral=True) # Create template embed embed = discord.Embed( @@ -77,7 +75,7 @@ class Status(commands.Cog): embed.description += radarr_desc + sonarr_desc + non_queue_desc # Send the follow-up message - await interaction.followup.send(embed=embed, ephemeral=True) + await interaction.edit_original_response(embed=embed, ephemeral=True) def unpack_content(self, requested_content: list) -> tuple: """ diff --git a/code/utils/content_view.py b/code/utils/content_view.py index 668954f..7a982c0 100644 --- a/code/utils/content_view.py +++ b/code/utils/content_view.py @@ -147,7 +147,7 @@ class RequestButtonView(discord.ui.View): ), color=0xD01B86, ) - await interaction.response.send_message(embed=embed) + await interaction.response.send_message(embed=embed, view=None) # Alert the user that the content failed to be added else: embed = discord.Embed( @@ -158,7 +158,9 @@ class RequestButtonView(discord.ui.View): f" {self.service} library." ), ) - return await interaction.response.send_message(embed=embed) + return await interaction.response.edit_message( + embed=embed, view=None + ) # Keep track of the requests for the `/status` command db = sqlite3.connect("data/cordarr.db") @@ -200,4 +202,4 @@ class RequestButtonView(discord.ui.View): ), color=0xD01B86, ) - await interaction.response.send_message(embed=embed) + await interaction.response.edit_message(embed=embed, view=None)