From 4f695630bf586fd117447fac34afcd2d03b86241 Mon Sep 17 00:00:00 2001 From: Astrea49 <25420078+Astrea49@users.noreply.github.com> Date: Fri, 10 Mar 2023 11:51:13 -0500 Subject: [PATCH 1/2] feat: allow disabling autodefer through auto_defer methods --- interactions/models/internal/application_commands.py | 7 +++++-- interactions/models/internal/extension.py | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/interactions/models/internal/application_commands.py b/interactions/models/internal/application_commands.py index eb3ee92bb..a06abfcee 100644 --- a/interactions/models/internal/application_commands.py +++ b/interactions/models/internal/application_commands.py @@ -1252,11 +1252,14 @@ def wrapper(func: SlashCommandT) -> SlashCommandT: return wrapper -def auto_defer(ephemeral: bool = False, time_until_defer: float = 0.0) -> Callable[[InterCommandT], InterCommandT]: +def auto_defer( + enabled: bool = True, ephemeral: bool = False, time_until_defer: float = 0.0 +) -> Callable[[InterCommandT], InterCommandT]: """ A decorator to add an auto defer to a application command. Args: + enabled: Should the command be deferred automatically ephemeral: Should the command be deferred as ephemeral time_until_defer: How long to wait before deferring automatically @@ -1265,7 +1268,7 @@ def auto_defer(ephemeral: bool = False, time_until_defer: float = 0.0) -> Callab def wrapper(func: InterCommandT) -> InterCommandT: if hasattr(func, "cmd_id"): raise ValueError("auto_defer decorators must be positioned under a slash_command decorator") - func.auto_defer = AutoDefer(enabled=True, ephemeral=ephemeral, time_until_defer=time_until_defer) + func.auto_defer = AutoDefer(enabled=enabled, ephemeral=ephemeral, time_until_defer=time_until_defer) return func return wrapper diff --git a/interactions/models/internal/extension.py b/interactions/models/internal/extension.py index 326484f97..1e50ce5d7 100644 --- a/interactions/models/internal/extension.py +++ b/interactions/models/internal/extension.py @@ -167,16 +167,17 @@ def drop(self) -> None: self.bot.dispatch(events.ExtensionUnload(self)) self.bot.logger.debug(f"{self.name} has been drop") - def add_ext_auto_defer(self, ephemeral: bool = False, time_until_defer: float = 0.0) -> None: + def add_ext_auto_defer(self, enabled: bool = False, ephemeral: bool = False, time_until_defer: float = 0.0) -> None: """ Add a auto defer for all commands in this extension. Args: + enabled: Should the command be deferred automatically ephemeral: Should the command be deferred as ephemeral time_until_defer: How long to wait before deferring automatically """ - self.auto_defer = models.AutoDefer(enabled=True, ephemeral=ephemeral, time_until_defer=time_until_defer) + self.auto_defer = models.AutoDefer(enabled=enabled, ephemeral=ephemeral, time_until_defer=time_until_defer) def add_ext_check(self, coroutine: Callable[["BaseContext"], Awaitable[bool]]) -> None: """ From ee5b15e7cd70a0f0292442b64747389c9b757664 Mon Sep 17 00:00:00 2001 From: Astrea49 <25420078+Astrea49@users.noreply.github.com> Date: Fri, 10 Mar 2023 11:56:30 -0500 Subject: [PATCH 2/2] fix: oops --- interactions/models/internal/extension.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interactions/models/internal/extension.py b/interactions/models/internal/extension.py index 1e50ce5d7..1c0d19812 100644 --- a/interactions/models/internal/extension.py +++ b/interactions/models/internal/extension.py @@ -167,7 +167,7 @@ def drop(self) -> None: self.bot.dispatch(events.ExtensionUnload(self)) self.bot.logger.debug(f"{self.name} has been drop") - def add_ext_auto_defer(self, enabled: bool = False, ephemeral: bool = False, time_until_defer: float = 0.0) -> None: + def add_ext_auto_defer(self, enabled: bool = True, ephemeral: bool = False, time_until_defer: float = 0.0) -> None: """ Add a auto defer for all commands in this extension.